<?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 pętle grzewcze - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/tag/petle-grzewcze/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/tag/petle-grzewcze/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Sun, 03 May 2026 18:53:21 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa pętle grzewcze - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/petle-grzewcze/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Samodzielny montaż ogrzewania podłogowego – 5 błędów, których nie naprawisz po wylewce.</title>
		<link>https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 19 Apr 2026 19:27:33 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Efektywne ogrzewanie]]></category>
		<category><![CDATA[Efektywność ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Systemy ogrzewania]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[błędy wykonawcze]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[dylatacje]]></category>
		<category><![CDATA[hydraulika]]></category>
		<category><![CDATA[izolacja termiczna]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[montaż samodzielny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[porady techniczne]]></category>
		<category><![CDATA[próba szczelności]]></category>
		<category><![CDATA[projekt instalacji]]></category>
		<category><![CDATA[rura pex]]></category>
		<category><![CDATA[zebra termiczna]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4245</guid>

					<description><![CDATA[<p>Planujesz samodzielny montaż instalacji grzewczej, by zaoszczędzić na robociźnie? Wiele osób, wpisując w wyszukiwarkę frazę „jak samemu zrobić ogrzewanie podłogowe”, skupia się wyłącznie na prostocie rozkładania rur PEX, zapominając o bezlitosnych prawach fizyki budowli i mechaniki płynów. Ten techniczny przewodnik obala popularne mity i analizuje pięć najpoważniejszych „grzechów głównych” popełnianych przez inwestorów. Dowiesz się z niego, dlaczego brak profesjonalnego projektu, zignorowanie dylatacji czy zbyt długie pętle grzewcze mogą doprowadzić do nieodwracalnych uszkodzeń wylewki i kosztownego remontu. Zamiast uczyć się na własnych błędach pod warstwą betonu, poznaj inżynierskie standardy, które zagwarantują Ci komfort cieplny i niskie rachunki przez kolejne trzydzieści lat.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/">Samodzielny montaż ogrzewania podłogowego – 5 błędów, których nie naprawisz po wylewce.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --primary: #0f172a;
    --accent: #dc2626; /* Czerwony ostrzegawczy */
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #fef2f2;
    --border-color: #e2e8f0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Samodzielny montaż ogrzewania podłogowego – 5 błędów, których nie naprawisz po wylewce",
    "description": "Techniczny przewodnik po najczęstszych błędach podczas montażu podłogówki DIY. Dowiedz się, dlaczego fizyka budowli i mechanika płynów są ważniejsze niż samo układanie rur.",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl"
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl"
    },
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Przegląd techniczny błędów montażowych",
    "description": "Zestawienie kluczowych parametrów technicznych i zagrożeń wynikających z błędów przy samodzielnym montażu ogrzewania podłogowego.",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Projekt hydrauliczny",
        "value": "Równowaga oporów",
        "description": "Zagrożenie: Niedogrzane pomieszczenia"
      },
      {
        "@type": "PropertyValue",
        "name": "Test ciśnieniowy",
        "value": "6 bar (0.6 MPa)",
        "description": "Zagrożenie: Wyciek pod wylewką"
      },
      {
        "@type": "PropertyValue",
        "name": "Dylatacje",
        "value": "0.012 mm/(m·K)",
        "description": "Zagrożenie: Pękanie płytek i jastrychu"
      },
      {
        "@type": "PropertyValue",
        "name": "Długość obwodów",
        "value": "Max 100m (PEX 16)",
        "description": "Zagrożenie: Przeciążenie pompy obiegowej"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="premium-hero-box" id="hero-app-container">
    <div class="hero-content">
        
        <div class="hero-badge">
            <span>⚠️</span> Punkt bez powrotu
        </div>
        
        <p class="hero-text">Kiedy wpisujesz w wyszukiwarkę frazę <strong>„jak samemu zrobić ogrzewanie podłogowe”</strong>, widzisz dziesiątki poradników pokazujących, jak łatwo rozwinąć rolkę czerwonej lub białej rury PEX i przyszpilić ją do styropianu. Rzeczywiście, sama czynność układania wężyków jest prosta i może dać ogromną satysfakcję oraz oszczędności na robociźnie rzędu kilku tysięcy złotych.</p>
        
        <p class="hero-text">Problem w tym, że prawdziwa wiedza potrzebna przy samodzielnym montażu ogrzewania podłogowego nie dotyczy wpinania rury w rozdzielacz, ale <strong>fizyki budowli i mechaniki płynów</strong>. Poniższy artykuł to techniczny przewodnik dla tych, którzy rozumieją, że po stwardnieniu betonowej wylewki jedyną metodą naprawy błędu jest młot udarowy i nowy remont.</p>

        <div class="hero-modules-title">Poznaj katalog głównych grzechów:</div>
        
        <div class="hero-grid">
            <div class="hero-card">
                <span class="hero-card-icon">📐</span>
                <span class="hero-card-title">Brak projektu i obliczeń</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">💧</span>
                <span class="hero-card-title">Zła próba szczelności</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">🏗️</span>
                <span class="hero-card-title">Zignorowanie dylatacji</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">⚠️</span>
                <span class="hero-card-title">Błędy długości pętli</span>
            </div>
        </div>

    </div>

    <noscript>
        <div style="padding: 20px 50px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h2 style="font-size: 18px; color: #0f172a; margin-bottom: 15px;">Przegląd techniczny błędów montażowych</h2>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Obszar kontroli</th>
                        <th style="padding: 10px 0; color: #475569;">Kluczowy parametr</th>
                        <th style="padding: 10px 0; color: #475569;">Zagrożenie</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;">Projekt hydrauliczny</td>
                        <td style="padding: 10px 0; font-weight: bold;">Równowaga oporów</td>
                        <td style="padding: 10px 0; color: #dc2626;">Niedogrzane pomieszczenia</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;">Test ciśnieniowy</td>
                        <td style="padding: 10px 0; font-weight: bold;">6 bar (0.6 MPa)</td>
                        <td style="padding: 10px 0; color: #dc2626;">Wyciek pod wylewką</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;">Dylatacje</td>
                        <td style="padding: 10px 0; font-weight: bold;">0.012 mm/(m·K)</td>
                        <td style="padding: 10px 0; color: #dc2626;">Pękanie płytek i jastrychu</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0;">Długość obwodów</td>
                        <td style="padding: 10px 0; font-weight: bold;">Max 100m (PEX 16)</td>
                        <td style="padding: 10px 0; color: #dc2626;">Przeciążenie pompy obiegowej</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

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



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

.premium-physics-box {
    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(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.physics-header {
    background: var(--primary);
    color: #ffffff;
    padding: 30px 40px;
    position: relative;
    overflow: hidden;
}

.physics-header::after {
    content: '📐';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 80px;
    opacity: 0.1;
}

.physics-header h3 {
    margin: 0 0 10px 0;
    font-size: 24px;
    font-weight: 900;
}

.physics-header p {
    margin: 0;
    font-size: 15px;
    color: #94a3b8;
    line-height: 1.5;
}

.physics-content {
    padding: 40px;
}

.physics-text {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
    margin-bottom: 25px;
}

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

/* INTERAKTYWNY SYMULATOR */
.simulator-wrap {
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 30px;
    margin: 30px 0;
}

.sim-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--accent);
    letter-spacing: 1px;
    margin-bottom: 20px;
    display: block;
    text-align: center;
}

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

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

.loop-label {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 15px;
}

.loop-val {
    color: var(--accent);
    font-weight: 900;
}

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

.flow-bar-container {
    height: 24px;
    background: #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
}

.flow-bar {
    height: 100%;
    width: 50%;
    background: var(--success);
    transition: width 0.4s ease, background-color 0.4s ease;
}

.flow-text {
    position: absolute;
    width: 100%;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
    font-weight: 800;
    color: #ffffff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

#sim-warning {
    margin-top: 20px;
    padding: 15px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    background: #fef2f2;
    color: var(--danger);
    border: 1px solid #fecaca;
    display: none;
}

/* LINKI / CTA */
.physics-cta-box {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.physics-cta-text {
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    margin-bottom: 5px;
}

.cta-link-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    transition: all 0.3s ease;
}

.cta-primary {
    background: var(--accent);
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(37, 99, 235, 0.2);
}

.cta-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(37, 99, 235, 0.3);
}

.cta-secondary {
    background: var(--accent-light);
    color: var(--accent) !important;
    border: 1px solid #bfdbfe;
}

.cta-secondary:hover {
    background: #dbeafe;
}

@media (max-width: 768px) {
    .physics-header { padding: 25px 20px; }
    .physics-content { padding: 25px 20px; }
    .sim-grid { grid-template-columns: 1fr; gap: 15px; }
    .cta-link-btn { flex-direction: column; text-align: center; gap: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Symulacja oporów hydraulicznych i prawa Hagena-Poiseuille’a",
    "description": "Zależność między długością pętli grzewczych a oporem hydraulicznym i przepływem w systemach ogrzewania podłogowego.",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Długość pętli krytyczna",
        "value": "100",
        "unitCode": "MTR",
        "description": "Maksymalna długość pętli dla rury 16mm"
      },
      {
        "@type": "PropertyValue",
        "name": "Maksymalna dopuszczalna różnica długości pętli",
        "value": "15",
        "unitText": "%",
        "description": "Powyżej 15% różnicy woda omija dłuższą pętlę i nie da się jej zbilansować na rotametrach"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator przepływu: Prawo Hagena-Poiseuille’a w praktyce",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "description": "Interaktywne narzędzie inżynierskie demonstrujące wpływ różnicy długości pętli grzewczych na równowagę oporów hydraulicznych i przepływ wody.",
    "featureList": [
      "Wizualizacja prawa Hagena-Poiseuille’a",
      "Obliczanie stosunku przepływu na podstawie różnicy długości",
      "Wykrywanie przekroczenia krytycznej granicy zbilansowania (15%)"
    ]
  }
]
</script>

<div class="premium-physics-box" id="physics-app-lock">
    <div class="physics-header">
        <h3>Projekt instalacji – fundament, a nie fanaberia</h3>
        <p>Dlaczego metoda &#8222;na oko&#8221; i brak obliczeń to przepis na zimną podłogę?</p>
    </div>

    <div class="physics-content">
        <p class="physics-text">
            Zanim przejdziemy do konkretnych błędów montażowych, musimy postawić sprawę jasno: <strong>brak projektu hydraulicznego i cieplnego jest matką wszystkich tych wpadek.</strong> Wpisując w Google <em>jak samemu zrobić ogrzewanie podłogowe</em>, większość majsterkowiczów szuka schematu rozstawu rur („ślimak czy meander?”), całkowicie ignorując obliczenia oporów hydraulicznych i strat ciepła.
        </p>

        <div class="simulator-wrap">
            <span class="sim-title">Symulator przepływu: Prawo Hagena-Poiseuille’a w praktyce</span>
            <div class="sim-grid">
                <div class="loop-control">
                    <div class="loop-label"><span>Pętla A (np. Łazienka)</span><span class="loop-val"><span id="val-loop1">45</span> m</span></div>
                    <input type="range" id="loop1" min="20" max="150" value="45">
                    <div class="flow-bar-container">
                        <div id="bar-loop1" class="flow-bar"></div>
                        <span id="text-loop1" class="flow-text">Przepływ: Wysoki (Gorąca)</span>
                    </div>
                </div>
                <div class="loop-control">
                    <div class="loop-label"><span>Pętla B (np. Salon)</span><span class="loop-val"><span id="val-loop2">120</span> m</span></div>
                    <input type="range" id="loop2" min="20" max="150" value="120">
                    <div class="flow-bar-container">
                        <div id="bar-loop2" class="flow-bar" style="background:var(--danger)"></div>
                        <span id="text-loop2" class="flow-text">Przepływ: Niski (Zimna)</span>
                    </div>
                </div>
            </div>
            <div id="sim-warning">⚠️ Różnica oporów jest zbyt duża (>15%). Woda omija dłuższą pętlę. Tego układu nie da się zbilansować na rozdzielaczu!</div>
        </div>

        <p class="physics-text">
            Próba wykonania instalacji „na oko” prowadzi dokładnie do sytuacji z powyższego symulatora, w której <strong>jedna pętla ma 120 metrów, a druga 45 metrów.</strong> Zgodnie z prawami fizyki, woda przepływa tam, gdzie jest najmniejszy opór. W takim układzie krótsza pętla będzie gorąca, a długa – ledwo letnia. 
            <br><br>
            <strong>Nie da się tego skorygować zaworem na rozdzielaczu, jeśli różnica długości przekracza 10-15%.</strong> 
        </p>

        <div class="physics-cta-box">
            <div class="physics-cta-text">Chcesz uchronić się przed kosztownymi pomyłkami?</div>
            
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-link-btn cta-primary">
                <span>📐 Zleć profesjonalny projekt instalacji u specjalisty</span>
                <span>ZAMÓW PROJEKT →</span>
            </a>
            
            <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-glowy-vs-projekt-z-obliczeniami-ile-mozesz-stracic-na-bledach/" class="cta-link-btn cta-secondary">
                <span>📖 Dowiedz się, ile możesz stracić na błędach bez wyliczeń</span>
                <span>PRZECZYTAJ ARTYKUŁ →</span>
            </a>
        </div>
    </div>

    <noscript>
        <div style="padding: 20px 40px 30px 40px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h3 style="font-size: 16px; color: #0f172a; margin-bottom: 15px;">Parametry hydrauliczne pętli grzewczych (Prawo Hagena-Poiseuille’a)</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Długość pętli</th>
                        <th style="padding: 10px 0; color: #475569;">Zdolność przepływu w układzie mieszanym</th>
                        <th style="padding: 10px 0; color: #475569;">Ocena hydrauliczna</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">45 m (Krótka)</td>
                        <td style="padding: 10px 0;">Pętla o niskim oporze &#8211; przejmuje większość przepływu</td>
                        <td style="padding: 10px 0; color: #dc2626; font-weight: bold;">Gorąca (Przegrzewanie)</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">120 m (Długa)</td>
                        <td style="padding: 10px 0;">Pętla o wysokim oporze &#8211; woda ją omija</td>
                        <td style="padding: 10px 0; color: #2563eb; font-weight: bold;">Zimna (Niedogrzanie)</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold;">Różnica &gt; 15%</td>
                        <td style="padding: 10px 0;">Brak możliwości kompensacji ciśnienia na rotametrach</td>
                        <td style="padding: 10px 0; color: #dc2626; font-weight: bold;">Błąd projektowy (Nie do zbilansowania)</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA (Domain Lock)
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('physics-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;">' +
                '<span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>' +
                '<div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div>' +
                '<p>Ten moduł jest własnością Projekt-Ogrzewania.pl</p></div>';
        }
        return; 
    }

    // LOGIKA SYMULATORA
    var loop1 = document.getElementById('loop1');
    var loop2 = document.getElementById('loop2');
    var val1 = document.getElementById('val-loop1');
    var val2 = document.getElementById('val-loop2');
    var bar1 = document.getElementById('bar-loop1');
    var bar2 = document.getElementById('bar-loop2');
    var text1 = document.getElementById('text-loop1');
    var text2 = document.getElementById('text-loop2');
    var warning = document.getElementById('sim-warning');

    function calculateFlow() {
        var l1 = parseFloat(loop1.value);
        var l2 = parseFloat(loop2.value);
        
        val1.innerText = l1;
        val2.innerText = l2;

        // Odwrotna proporcjonalność: większa długość = mniejszy przepływ
        // Zakładamy stałe ciśnienie pompy, przepływ Q ~ 1/L
        var q1 = 1 / l1;
        var q2 = 1 / l2;
        var totalQ = q1 + q2;

        var perc1 = (q1 / totalQ) * 100;
        var perc2 = (q2 / totalQ) * 100;

        bar1.style.width = perc1 + '%';
        bar2.style.width = perc2 + '%';

        // Kolorowanie pętli w zależności od udziału w przepływie
        updateBarColor(bar1, text1, perc1);
        updateBarColor(bar2, text2, perc2);

        // Obliczanie różnicy w długości pętli
        var maxL = Math.max(l1, l2);
        var diff = Math.abs(l1 - l2);
        var diffPerc = (diff / maxL) * 100;

        if (diffPerc > 15 || l1 > 100 || l2 > 100) {
            warning.style.display = 'block';
            if (l1 > 100 || l2 > 100) {
                warning.innerHTML = '⚠️ <strong>Jedna z pętli przekracza 100 m!</strong> Opór jest tak duży, że dławienie zaworów nie pomoże. Pętla nie dogrzeje pomieszczenia.';
            } else {
                warning.innerHTML = '⚠️ <strong>Różnica długości wynosi ok. ' + Math.round(diffPerc) + '%!</strong> Woda wybiera najmniejszy opór. Układu nie da się zbilansować na rotametrach.';
            }
        } else {
            warning.style.display = 'none';
        }
    }

    function updateBarColor(bar, textEl, perc) {
        if (perc > 60) {
            bar.style.backgroundColor = '#dc2626'; // Red
            textEl.innerText = 'Gorąca (Główny obieg)';
        } else if (perc >= 40 && perc <= 60) {
            bar.style.backgroundColor = '#16a34a'; // Green
            textEl.innerText = 'Zbilansowana';
        } else {
            bar.style.backgroundColor = '#3b82f6'; // Blue
            textEl.innerText = 'Zimna (Brak przepływu)';
        }
    }

    loop1.addEventListener('input', calculateFlow);
    loop2.addEventListener('input', calculateFlow);

    // Initial run
    calculateFlow();
});
</script>



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

.premium-error-box {
    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(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.error-header {
    background: #fef2f2;
    border-bottom: 1px solid #fecaca;
    padding: 35px 40px;
    position: relative;
    overflow: hidden;
}

.error-header::after {
    content: '💦';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 90px;
    opacity: 0.1;
}

.error-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fee2e2;
    color: var(--danger);
    padding: 6px 14px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.error-header h3 {
    margin: 0 0 10px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--danger);
}

.error-content {
    padding: 40px;
}

.error-text {
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
    margin-bottom: 20px;
}

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

/* INTERAKTYWNY SYMULATOR */
.simulator-wrap {
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 30px;
    margin: 35px 0;
}

.sim-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--primary);
    letter-spacing: 1px;
    margin-bottom: 25px;
    display: block;
    text-align: center;
}

.sim-controls {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 25px;
}

.gauge-display {
    font-size: 42px;
    font-weight: 900;
    color: var(--accent);
    margin-bottom: 10px;
    line-height: 1;
}

.gauge-label {
    font-size: 14px;
    color: #64748b;
    font-weight: 700;
    margin-bottom: 15px;
}

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

.sim-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

.sim-btn {
    padding: 12px 20px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    border: none;
    transition: 0.3s;
}

.btn-concrete { background: #94a3b8; color: white; box-shadow: 0 4px 10px rgba(148, 163, 184, 0.3); }
.btn-concrete:hover { background: #64748b; }
.btn-strike { background: #fbbf24; color: #78350f; box-shadow: 0 4px 10px rgba(251, 191, 36, 0.3); }
.btn-strike:hover { background: #f59e0b; }

#sim-result {
    margin-top: 25px;
    padding: 20px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    display: none;
    line-height: 1.5;
}

.result-danger { background: #fef2f2; color: var(--danger); border: 2px solid #fecaca; }
.result-success { background: #f0fdf4; color: var(--success); border: 2px solid #bbf7d0; }
.result-warning { background: #fffbeb; color: #b45309; border: 2px solid #fde68a; }

/* SEKCJE TEKSTOWE */
.golden-standard {
    background: #f0fdf4;
    border-left: 6px solid var(--success);
    padding: 25px;
    border-radius: 0 16px 16px 0;
    margin: 30px 0;
}

.golden-standard h4 { margin: 0 0 15px 0; color: #166534; font-size: 18px; font-weight: 800;}
.golden-standard ul { margin: 0; padding-left: 20px; color: #15803d; line-height: 1.7; }
.golden-standard li { margin-bottom: 10px; }
.golden-standard strong { color: #14532d; }

.life-example {
    background: #fff7ed;
    border: 1px solid #ffedd5;
    padding: 25px;
    border-radius: 16px;
    margin-top: 30px;
}

.life-example h4 { margin: 0 0 10px 0; color: var(--warning); font-size: 16px; font-weight: 800;}

@media (max-width: 768px) {
    .error-header { padding: 25px 20px; }
    .error-content { padding: 25px 20px; }
    .sim-actions { flex-direction: column; width: 100%; }
    .sim-btn { width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Standardy próby szczelności instalacji ogrzewania podłogowego",
    "description": "Wymagania techniczne i fizyczne konsekwencje nieprawidłowo przeprowadzonej próby ciśnieniowej przed zalaniem wylewką.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Wymagane ciśnienie próbne",
        "value": "0.6",
        "unitCode": "BAR",
        "description": "Minimum 6 barów w celu zapobiegania mikrorozszczelnieniom złączek pod masą betonu"
      },
      {
        "@type": "PropertyValue",
        "name": "Minimalny czas trwania testu",
        "value": "24",
        "unitText": "godziny"
      },
      {
        "@type": "PropertyValue",
        "name": "Masa jastrychu grzewczego na rurach",
        "value": "200-250",
        "unitText": "kg/m2",
        "description": "Siła wywierana na rury PEX wymagająca sztywności uzyskanej ciśnieniem > 5 bar"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator naprężeń: Sprawdź zachowanie rury",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "description": "Interaktywny symulator demonstrujący wpływ ciśnienia próbnego na zachowanie rur ogrzewania podłogowego podczas prac betoniarskich, takich jak wibrowanie wylewki oraz uderzenia mechaniczne.",
    "featureList": [
      "Wizualizacja wpływu wibratora do betonu na szczelność",
      "Symulacja spadku ciśnienia na manometrze przy uszkodzeniu mechanicznym",
      "Określanie bezpiecznych (>= 6 bar) i niebezpiecznych poziomów ciśnienia"
    ]
  }
]
</script>

<div class="premium-error-box" id="pressure-app-lock">
    <div class="error-header">
        <div class="error-badge">Błąd #1</div>
        <h3>Brak lub źle przeprowadzona próba szczelności</h3>
        <p style="margin:0; font-size:15px; color:#991b1b; font-weight:600;">Czyli przeciek ukryty w tonach betonu.</p>
    </div>

    <div class="error-content">
        <p class="error-text">
            <strong>Dlaczego standardowe "sprawdzenie na 2 bary" to za mało?</strong><br>
            To absolutnie najpoważniejszy błąd przy samodzielnym wykonaniu podłogówki. W domowych warunkach najczęściej robi się tak: podłącza się wąż ogrodowy do rozdzielacza, puszcza wodę z sieci (ok. 3-4 bary), widzi się, że z drugiego końca leci woda, zakręca zawór i uznaje instalację za szczelną.
        </p>
        <p class="error-text">
            <strong>Konsekwencja techniczna:</strong><br>
            Podczas zalewania wylewki na rury działa masa betonu (około 200-250 kg/m² przy grubości 6-8 cm). Ponadto ekipy betoniarskie używają wibratorów wgłębnych lub listew wibracyjnych. Drgania o wysokiej częstotliwości potrafią poluzować nawet prawidłowo zaciśnięte złączki zaciskowe. Jeśli w rurze panowało niskie ciśnienie statyczne, a złączka była "na styk", pod wpływem wibracji i ciężaru betonu dojdzie do mikrorozszczelnienia. Woda zacznie migrować w beton, a Ty zobaczysz to dopiero po 3 miesiącach, gdy na suficie piętra niżej pojawi się mokra plama.
        </p>

        <div class="simulator-wrap">
            <span class="sim-title">Symulator naprężeń: Sprawdź zachowanie rury</span>
            
            <div class="sim-controls">
                <div class="gauge-display"><span id="pressure-val">2.0</span> BAR</div>
                <span class="gauge-label">Ustaw ciśnienie w układzie (0 - 8 bar)</span>
                <input type="range" id="pressure-slider" min="0" max="8" step="0.5" value="2.0">
            </div>

            <div class="sim-actions">
                <button id="btn-pour" class="sim-btn btn-concrete">1. Wylej beton i włącz wibrator</button>
                <button id="btn-strike" class="sim-btn btn-strike">2. Symuluj uderzenie łopatą</button>
            </div>

            <div id="sim-result"></div>
        </div>

        <div class="golden-standard">
            <h4>Złoty standard próby szczelności (jak to zrobić dobrze):</h4>
            <ul>
                <li><strong>Ciśnienie próbne:</strong> Minimum 0,6 MPa (6 barów). Woda w instalacji CO rzadko przekracza 2 bary, ale próba ma symulować ekstremalne naprężenia mechaniczne.</li>
                <li><strong>Czas trwania:</strong> Minimum 24 godziny.</li>
                <li><strong>W trakcie wylewania betonu:</strong> Rury muszą być pod ciśnieniem! To kluczowa zasada pomijana przez 90% samouków.</li>
            </ul>
        </div>

        <p class="error-text">
            Dzięki utrzymaniu ciśnienia rura jest sztywna (naprężona). Jeśli ekipa od wylewek nadepnie na nią kaloszem lub uderzy łopatą, manometr na rozdzielaczu natychmiast spadnie. Wtedy możesz przerwać wylewanie, odkopać uszkodzone miejsce i naprawić złączką. Szczegółową instrukcję przeprowadzania tego kluczowego testu znajdziesz w naszym dedykowanym artykule: <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" style="color:var(--accent); font-weight:700; text-decoration:none;">próba szczelności ogrzewania podłogowego – jak zrobić to prawidłowo?</a>.
        </p>

        <div class="life-example">
            <h4>👷‍♂️ Przykład z życia:</h4>
            <p style="margin:0; font-size:14px; color:#78350f; line-height:1.6;">
                Pan Adam z Wrocławia oszczędził na kompresorze. Zrobił próbę na 2 bary z wodociągu. Po wylaniu 10 cm betonu okazało się, że w jednej pętli nie ma przepływu. Po 3 latach płytki w przedpokoju zaczęły "pływać" – okazało się, że przy rozdzielaczu ekipa wylała beton bezpośrednio na złączkę, wyginając ją i powodując pęknięcie zmęczeniowe mosiądzu. <strong>Koszt naprawy: skucie 4 m² posadzki, wymiana złączki, nowa wylewka i nowe płytki (łącznie ok. 3500 zł).</strong>
            </p>
        </div>
    </div>
    
    <noscript>
        <div style="padding: 20px 40px 30px 40px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h3 style="font-size: 16px; color: #0f172a; margin-bottom: 15px;">Skutki ciśnienia w rurach ogrzewania podłogowego podczas prac betoniarskich</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Wartość ciśnienia próbnego</th>
                        <th style="padding: 10px 0; color: #475569;">Zachowanie rury pod wpływem wibratora do betonu</th>
                        <th style="padding: 10px 0; color: #475569;">Reakcja na uszkodzenie mechaniczne (np. łopatą)</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">&lt; 5 bar (Zbyt niskie)</td>
                        <td style="padding: 10px 0;">Poluzowanie złączek, wyciek pod wylewką</td>
                        <td style="padding: 10px 0; color: #dc2626;">Brak widocznego spadku na manometrze</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold;">&ge; 6 bar (Zalecane)</td>
                        <td style="padding: 10px 0;">Rura sztywna, złączki zablokowane</td>
                        <td style="padding: 10px 0; color: #16a34a; font-weight: bold;">Natychmiastowy spadek ciśnienia = szybka naprawa</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('pressure-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div><p>Ten moduł jest własnością Projekt-Ogrzewania.pl</p></div>';
        }
        return; 
    }

    // LOGIKA SYMULATORA
    var slider = document.getElementById('pressure-slider');
    var valDisplay = document.getElementById('pressure-val');
    var btnPour = document.getElementById('btn-pour');
    var btnStrike = document.getElementById('btn-strike');
    var resultBox = document.getElementById('sim-result');

    slider.addEventListener('input', function() {
        valDisplay.innerText = parseFloat(slider.value).toFixed(1);
        resultBox.style.display = 'none'; // reset wyników przy zmianie
    });

    btnPour.addEventListener('click', function() {
        var pressure = parseFloat(slider.value);
        resultBox.style.display = 'block';
        resultBox.className = ''; 
        
        if (pressure < 5.0) {
            resultBox.classList.add('result-danger');
            resultBox.innerHTML = '❌ <strong>KATASTROFA!</strong> Ciśnienie jest zbyt niskie. Rura jest wiotka. Wibrator poluzował złączki, a ciężar betonu wywołał mikrorozszczelnienie. Woda ucieka w wylewkę!';
        } else {
            resultBox.classList.add('result-success');
            resultBox.innerHTML = '✅ <strong>BEZPIECZNIE!</strong> Rura pod ciśnieniem ' + pressure.toFixed(1) + ' bar jest sztywna jak kamień. Złączki są napięte i zablokowane. Wibracje betonu nie robią na niej żadnego wrażenia.';
        }
    });

    btnStrike.addEventListener('click', function() {
        var pressure = parseFloat(slider.value);
        resultBox.style.display = 'block';
        resultBox.className = ''; 

        if (pressure < 3.0) {
            resultBox.classList.add('result-warning');
            resultBox.innerHTML = '⚠️ <strong>BRAK REAKCJI MANOMETRU!</strong> Rura została uszkodzona łopatą, ale ciśnienie było tak niskie, że wskaźnik ledwo drgnął. Ekipa nie zauważyła problemu i zalała dziurawą rurę betonem.';
        } else {
            // Animacja spadku ciśnienia
            slider.value = 0;
            valDisplay.innerText = "0.0";
            resultBox.classList.add('result-success');
            resultBox.innerHTML = '🚨 <strong>ALARM! WZORCOWA REAKCJA!</strong> Uszkodzenie łopatą natychmiast wyrzuciło wodę z naprężonej rury. Manometr spadł do ZERA w sekundę. Zatrzymujesz wylewanie i naprawiasz uszkodzenie!';
        }
    });
});
</script>



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

.premium-error-box {
    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(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.error-header {
    background: #fef2f2;
    border-bottom: 1px solid #fecaca;
    padding: 35px 40px;
    position: relative;
    overflow: hidden;
}

.error-header::after {
    content: '💥';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 90px;
    opacity: 0.1;
}

.error-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fee2e2;
    color: var(--danger);
    padding: 6px 14px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.error-header h3 {
    margin: 0 0 10px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--danger);
}

.error-content {
    padding: 40px;
}

.error-text {
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
    margin-bottom: 20px;
}

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

/* INTERAKTYWNY SYMULATOR */
.simulator-wrap {
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 30px;
    margin: 35px 0;
}

.sim-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--primary);
    letter-spacing: 1px;
    margin-bottom: 25px;
    display: block;
    text-align: center;
}

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

.sim-control-group {
    background: #ffffff;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.sim-label-row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 15px;
}

.sim-val {
    color: var(--accent);
    font-weight: 900;
}

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

.sim-result-box {
    text-align: center;
    margin-top: 30px;
    padding: 25px;
    background: #ffffff;
    border-radius: 12px;
    border: 2px dashed #cbd5e1;
}

.sim-result-value {
    font-size: 36px;
    font-weight: 900;
    color: var(--danger);
    line-height: 1;
    margin-bottom: 10px;
    display: block;
}

#sim-warning {
    margin-top: 15px;
    padding: 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    background: #fef2f2;
    color: var(--danger);
    display: none;
}

/* LISTA DYLATACJI */
.rules-list {
    background: #eff6ff;
    border-left: 6px solid var(--accent);
    padding: 25px;
    border-radius: 0 16px 16px 0;
    margin: 30px 0;
}

.rules-list h4 { margin: 0 0 15px 0; color: #1e3a8a; font-size: 18px; font-weight: 800;}
.rules-list ul { margin: 0; padding-left: 20px; color: #1e40af; line-height: 1.7; }
.rules-list li { margin-bottom: 12px; }
.rules-list li strong { color: #1e3a8a; }

/* ZAMIAN TABELI NA KARTY */
.param-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 30px;
}

.param-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 20px;
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

.param-icon { font-size: 28px; margin-bottom: 10px; display: block; }
.param-title { font-size: 13px; font-weight: 800; color: var(--primary); text-transform: uppercase; margin-bottom: 10px; }
.param-value { font-size: 14px; font-weight: 700; color: var(--accent); margin-bottom: 10px; display: block;}
.param-danger { font-size: 12px; color: var(--danger); font-weight: 600; background: #fef2f2; padding: 6px; border-radius: 8px; }

@media (max-width: 768px) {
    .error-header { padding: 25px 20px; }
    .error-content { padding: 25px 20px; }
    .sim-grid { grid-template-columns: 1fr; gap: 15px; }
    .param-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "name": "Parametry rozszerzalności termicznej jastrychu i zasady dylatacji",
  "description": "Dane techniczne dotyczące pracy betonu w instalacjach ogrzewania podłogowego oraz normatywne wymagania dla szczelin dylatacyjnych.",
  "license": "https://projekt-ogrzewania.pl/",
  "variableMeasured": [
    {
      "@type": "PropertyValue",
      "name": "Współczynnik rozszerzalności termicznej betonu",
      "value": "0.012",
      "unitText": "mm/(m·K)"
    },
    {
      "@type": "PropertyValue",
      "name": "Maksymalna powierzchnia pola bez dylatacji",
      "value": "40",
      "unitText": "m2"
    },
    {
      "@type": "PropertyValue",
      "name": "Maksymalna długość boku pola bez dylatacji",
      "value": "8",
      "unitCode": "MTR"
    },
    {
      "@type": "PropertyValue",
      "name": "Minimalna długość osłony peszel na dylatacji",
      "value": "30",
      "unitCode": "CMT"
    }
  ],
  "creator": {
    "@type": "Person",
    "name": "Robert Kucharski"
  }
}
</script>

<div class="premium-error-box" id="expansion-app-lock">
    <div class="error-header">
        <div class="error-badge">Błąd #2</div>
        <h3>Zignorowanie dylatacji i pracy betonu</h3>
        <p style="margin:0; font-size:15px; color:#991b1b; font-weight:600;">Czyli dlaczego piękna podłoga pęka z hukiem.</p>
    </div>

    <div class="error-content">
        <p class="error-text">
            <strong>Dlaczego podłoga pęka mimo pięknie ułożonych płytek?</strong><br>
            Beton (zarówno cementowy, jak i anhydrytowy) pod wpływem zmian temperatury pracuje objętościowo. Współczynnik rozszerzalności termicznej betonu wynosi około <strong>0,012 mm/(m·K)</strong>. 
        </p>

        <div class="simulator-wrap">
            <span class="sim-title">Symulator rozszerzalności wylewki</span>
            <div class="sim-grid">
                <div class="sim-control-group">
                    <div class="sim-label-row"><span>Długość pomieszczenia (L)</span><span class="sim-val"><span id="val-length">10</span> m</span></div>
                    <input type="range" id="slider-length" min="2" max="20" step="1" value="10">
                </div>
                <div class="sim-control-group">
                    <div class="sim-label-row"><span>Różnica temperatur (ΔT)</span><span class="sim-val"><span id="val-temp">20</span> °C</span></div>
                    <input type="range" id="slider-temp" min="10" max="40" step="1" value="20">
                    <div style="font-size:11px; color:#94a3b8; margin-top:5px;">Różnica: stan zimny vs zasilanie grzewcze</div>
                </div>
            </div>

            <div class="sim-result-box">
                <span style="font-size:13px; font-weight:800; color:#64748b; text-transform:uppercase;">Wylewka wydłuży się o:</span>
                <span class="sim-result-value"><span id="result-expansion">2.4</span> mm</span>
                <p style="margin:0; font-size:14px; color:#334155; max-width: 600px; margin: 0 auto;">
                    Te milimetry to ogromna siła. Beton nie ściśnie się sam z siebie. Jeśli napotka opór (ścianę) bez dylatacji, energia rozładuje się w najsłabszym punkcie – powodując pęknięcie na środku salonu i przecinając płytki gresowe jak żyletka.
                </p>
                <div id="sim-warning">⚠️ Długość boku przekracza 8 metrów! Wymagane jest zastosowanie dylatacji pośredniej (przecięcie wylewki), w przeciwnym razie posadzka pęknie samoistnie.</div>
            </div>
        </div>

        <div style="position: absolute; left: -9999px; height: 1px; width: 1px; overflow: hidden;" aria-hidden="true">
            <table>
                <caption>Specyfikacja techniczna dylatacji i pracy betonu</caption>
                <thead>
                    <tr>
                        <th>Parametr fizyczny</th>
                        <th>Wartość normatywna</th>
                        <th>Skutek zignorowania</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>Współczynnik rozszerzalności</td>
                        <td>0,012 mm/(m·K)</td>
                        <td>Praca objętościowa jastrychu (wydłużanie)</td>
                    </tr>
                    <tr>
                        <td>Maksymalna długość boku</td>
                        <td>8 metrów bieżących</td>
                        <td>Pęknięcia skurczowe wylewki</td>
                    </tr>
                    <tr>
                        <td>Maksymalna powierzchnia pola</td>
                        <td>40 m²</td>
                        <td>Pękanie płytek gresowych</td>
                    </tr>
                    <tr>
                        <td>Osłona rur (Peszel) na dylatacji</td>
                        <td>Min. 30 cm</td>
                        <td>Przecięcie rury przez pracujący beton</td>
                    </tr>
                </tbody>
            </table>
        </div>

        <div class="rules-list">
            <h4>Gdzie bezwzględnie stosować dylatacje?</h4>
            <ul>
                <li><strong>Progi drzwiowe</strong> – każdy otwór drzwiowy musi mieć szczelinę w wylewce.</li>
                <li><strong>Pomieszczenia w kształcie litery L</strong> – narożniki wewnętrzne to miejsca największej koncentracji naprężeń.</li>
                <li><strong>Duże pola grzejne (> 40 m²)</strong> – w przestronnym salonie należy podzielić podłogę na mniejsze sekcje (zazwyczaj co 8 metrów bieżących).</li>
                <li><strong>Przejście rur przez dylatację (Pułapka!)</strong> – rura PEX przechodząca przez szczelinę dylatacyjną musi być osłonięta peszlem (rurą karbowaną) na długości min. 30 cm od osi szczeliny. Gołą rurę pracujący beton przetnie jak nożyce.</li>
            </ul>
        </div>

        <p class="error-text">
            Kompendium wiedzy na ten temat znajdziesz w artykule: <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" style="color:var(--accent); font-weight:700; text-decoration:none;">izolacja brzegowa i dylatacje w instalacji ogrzewania podłogowego</a>.
        </p>

        <h4 style="text-align:center; font-size: 18px; margin-top: 40px; margin-bottom: 0;">Parametry Techniczne i Konsekwencje</h4>
        <div class="param-grid">
            <div class="param-card">
                <span class="param-icon">📏</span>
                <div class="param-title">Max powierzchnia pola</div>
                <span class="param-value">40 m² (lub 8 m boku)</span>
                <div class="param-danger">Brak: Pęknięcia skurczowe w wylewce</div>
            </div>
            <div class="param-card">
                <span class="param-icon">🎗️</span>
                <div class="param-title">Taśma brzegowa</div>
                <span class="param-value">Min. 8 mm grubości</span>
                <div class="param-danger">Brak: Napór na ściany (pękające tynki)</div>
            </div>
            <div class="param-card">
                <span class="param-icon">🛡️</span>
                <div class="param-title">Peszel na dylatacji</div>
                <span class="param-value">Odcinek min. 30 cm</span>
                <div class="param-danger">Brak: Przecięcie rury grzewczej</div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('expansion-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div><p>Ten moduł jest własnością Projekt-Ogrzewania.pl</p></div>';
        }
        return; 
    }

    // LOGIKA SYMULATORA
    var sliderLength = document.getElementById('slider-length');
    var sliderTemp = document.getElementById('slider-temp');
    var valLength = document.getElementById('val-length');
    var valTemp = document.getElementById('val-temp');
    var resultExpansion = document.getElementById('result-expansion');
    var warning = document.getElementById('sim-warning');

    var alpha = 0.012; // Współczynnik dla betonu

    function updateExpansion() {
        var length = parseFloat(sliderLength.value);
        var tempDiff = parseFloat(sliderTemp.value);

        valLength.innerText = length;
        valTemp.innerText = tempDiff;

        // Wyliczenie ze wzoru: ΔL = α × L × ΔT
        var deltaL = alpha * length * tempDiff;
        resultExpansion.innerText = deltaL.toFixed(1);

        // Ostrzeżenie o dylatacji pośredniej
        if (length > 8) {
            warning.style.display = 'block';
        } else {
            warning.style.display = 'none';
        }
    }

    sliderLength.addEventListener('input', updateExpansion);
    sliderTemp.addEventListener('input', updateExpansion);

    // Initial run
    updateExpansion();
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --accent-light: #eff6ff;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    
    /* Zmienne do symulatora zebry */
    --pipe-color: #ef4444;
    --cold-color: #3b82f6;
    --warm-color: #fca5a5;
}

.premium-error-box {
    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(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.error-header {
    background: #fef2f2;
    border-bottom: 1px solid #fecaca;
    padding: 35px 40px;
    position: relative;
    overflow: hidden;
}

.error-header::after {
    content: '🦓';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 90px;
    opacity: 0.1;
}

.error-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fee2e2;
    color: var(--danger);
    padding: 6px 14px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.error-header h3 {
    margin: 0 0 10px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--danger);
}

.error-content {
    padding: 40px;
}

.error-text {
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
    margin-bottom: 20px;
}

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

/* INTERAKTYWNY SYMULATOR ZEBRA */
.simulator-wrap {
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 30px;
    margin: 35px 0;
}

.sim-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--primary);
    letter-spacing: 1px;
    margin-bottom: 25px;
    display: block;
    text-align: center;
}

.sim-controls-zebra {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 30px;
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--border-color);
}

.zebra-val-display {
    font-size: 32px;
    font-weight: 900;
    color: var(--accent);
    margin-bottom: 5px;
}

.zebra-slider-wrap {
    width: 100%;
    max-width: 500px;
    margin-top: 15px;
}

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

.zebra-visualizer {
    width: 100%;
    height: 120px;
    border-radius: 12px;
    border: 2px solid #cbd5e1;
    margin-bottom: 25px;
    position: relative;
    overflow: hidden;
    transition: background 0.4s ease;
}

.zebra-overlay-text {
    position: absolute;
    top: 10px;
    left: 15px;
    background: rgba(255,255,255,0.9);
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 800;
    color: var(--primary);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* KARTY WYNIKÓW (ZAMIAST TABELI) */
.zebra-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.zebra-stat-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 20px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

.stat-icon { font-size: 24px; margin-bottom: 8px; display: block; }
.stat-label { font-size: 11px; color: #64748b; text-transform: uppercase; font-weight: 800; margin-bottom: 8px; display: block; }
.stat-value { font-size: 15px; font-weight: 800; color: var(--primary); }
.stat-cop-high { color: var(--success); }
.stat-cop-low { color: var(--danger); }

/* SEKCJA REKOMENDACJI */
.recommendation-box {
    background: #eff6ff;
    border-left: 6px solid var(--accent);
    padding: 25px;
    border-radius: 0 16px 16px 0;
    margin: 30px 0;
}

.recommendation-box h4 { margin: 0 0 15px 0; color: #1e3a8a; font-size: 18px; font-weight: 800;}
.rec-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
.rec-item {
    display: flex;
    justify-content: space-between;
    background: #ffffff;
    padding: 12px 15px;
    border-radius: 8px;
    border: 1px solid #bfdbfe;
    align-items: center;
}
.rec-item span { font-size: 14px; font-weight: 600; color: #334155; }
.rec-item strong { font-size: 15px; color: var(--accent); font-weight: 900; background: #dbeafe; padding: 4px 10px; border-radius: 6px; }

@media (max-width: 768px) {
    .error-header { padding: 25px 20px; }
    .error-content { padding: 25px 20px; }
    .zebra-stats-grid { grid-template-columns: 1fr; gap: 10px; }
    .rec-item { flex-direction: column; text-align: center; gap: 8px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Wpływ rozstawu rur na moc i sprawność ogrzewania podłogowego",
    "description": "Zależność między odległością rur grzewczych PEX a emitowaną mocą, komfortem cieplnym i sprawnością pompy ciepła (COP).",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Moc grzewcza przy rozstawie 10 cm",
        "value": "85",
        "unitText": "W/m2"
      },
      {
        "@type": "PropertyValue",
        "name": "Moc grzewcza przy rozstawie 15 cm",
        "value": "65",
        "unitText": "W/m2"
      },
      {
        "@type": "PropertyValue",
        "name": "Moc grzewcza przy rozstawie 25 cm",
        "value": "35",
        "unitText": "W/m2",
        "description": "Zauważalny efekt zebry termicznej (różnica temp. > 5K)"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator Efektu Zebry Termicznej",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywny symulator wizualizujący rozkład temperatur na powierzchni podłogi w zależności od rozstawu rur PEX oraz wpływ tych parametrów na współczynnik COP pompy ciepła.",
    "featureList": [
      "Wizualizacja kamery termowizyjnej dla różnych rozstawów",
      "Kalkulacja spadku mocy grzewczej",
      "Analiza komfortu 'odczucia stopy'"
    ]
  }
]
</script>

<div class="premium-error-box" id="zebra-app-lock">
    <div class="error-header">
        <div class="error-badge">Błąd #3</div>
        <h3>Nierównomierny rozstaw rur</h3>
        <p style="margin:0; font-size:15px; color:#991b1b; font-weight:600;">Oszczędność 100 metrów rury, która kosztuje komfort przez 30 lat.</p>
    </div>

    <div class="error-content">
        <p class="error-text">
            To błąd wynikający z chęci zaoszczędzenia na materiale przy układaniu ogrzewania samodzielnie. Inwestor myśli: <em>"Skoro standard to 15 cm, to ja dam co 25 cm, przecież i tak będzie ciepło"</em>. Fizyka jest tu bezlitosna.
        </p>

        <div class="simulator-wrap">
            <span class="sim-title">Symulator Efektu Zebry Termicznej</span>
            
            <div class="sim-controls-zebra">
                <span style="font-size:12px; font-weight:700; color:#64748b; text-transform:uppercase;">Wybrany rozstaw rur:</span>
                <div class="zebra-val-display"><span id="z-spacing">15</span> cm</div>
                <div class="zebra-slider-wrap">
                    <input type="range" class="zebra-slider" id="zebra-slider" min="10" max="30" step="5" value="15">
                    <div style="display:flex; justify-content:space-between; font-size:11px; font-weight:700; color:#94a3b8;">
                        <span>10 cm</span><span>15 cm</span><span>20 cm</span><span>25 cm</span><span>30 cm</span>
                    </div>
                </div>
            </div>

            <div class="zebra-visualizer" id="z-visualizer">
                <div class="zebra-overlay-text">Kamera termowizyjna (widok z góry)</div>
            </div>

            <div class="zebra-stats-grid">
                <div class="zebra-stat-card">
                    <span class="stat-icon">🔥</span>
                    <span class="stat-label">Moc Grzewcza</span>
                    <span class="stat-value" id="z-power">~65 W/m²</span>
                </div>
                <div class="zebra-stat-card">
                    <span class="stat-icon">👣</span>
                    <span class="stat-label">Odczucie stopy</span>
                    <span class="stat-value" id="z-feel">Ciepła, komfortowa</span>
                </div>
                <div class="zebra-stat-card">
                    <span class="stat-icon">⚙️</span>
                    <span class="stat-label">Sprawność (COP)</span>
                    <span class="stat-value stat-cop-high" id="z-cop">Optymalna</span>
                </div>
            </div>
            
            <div id="z-warning" style="margin-top: 15px; padding: 12px; border-radius: 8px; font-size: 13px; font-weight: 700; text-align: center; background: #fef2f2; color: var(--danger); display: none;">
                ⚠️ <strong>Uwaga!</strong> Aby ogrzać pokój przy tak rzadkim rozstawie, musisz drastycznie podnieść temperaturę zasilania kotła. Rachunki za prąd/gaz znacząco wzrosną!
            </div>
        </div>

        <p class="error-text">
            <strong>Przykład techniczny:</strong><br>
            Załóżmy, że rura PEX 16x2,0 mm ułożona jest w jastrychu o grubości 6,5 cm nad rurą. Przy rozstawie <strong>co 15 cm</strong>, temperatura powierzchni podłogi będzie niemal jednolita (różnica między punktem nad rurą a między rurami wynosi ok. 1,5-2°C – nieodczuwalna dla stopy).
            <br><br>
            Przy rozstawie <strong>co 25-30 cm</strong>, różnica temperatur na powierzchni płytek wzrasta do 5-7°C. To jest właśnie <strong>"zebra termiczna"</strong>. Człowiek wyraźnie czuje stopą naprzemienne pasy ciepła i chłodu. Im rzadszy rozstaw, tym bardziej stromo spada krzywa mocy (nawet o 45%!).
        </p>

        <div class="recommendation-box">
            <h4>Zalecane rozstawy rur:</h4>
            <div class="rec-grid">
                <div class="rec-item">
                    <span>Strefa mieszkalna (środek pokoju)</span>
                    <strong>15 cm</strong>
                </div>
                <div class="rec-item">
                    <span>Strefa brzegowa (okna, ściany zew.)</span>
                    <strong>10 cm</strong>
                </div>
                <div class="rec-item">
                    <span>Łazienka (ciepła posadzka)</span>
                    <strong>10 cm</strong>
                </div>
            </div>
        </div>

        <p class="error-text">
            Wybór odpowiedniego rozstawu to decyzja, która wpłynie na rachunki za ogrzewanie przez kolejne dekady. Szczegółową analizę tego zagadnienia przedstawiamy w tekście: <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/" style="color:var(--accent); font-weight:700; text-decoration:none;">rozstaw rur ogrzewania podłogowego przy pompie ciepła – co 10 czy 15 cm?</a>
        </p>

    </div>

    <noscript>
        <div style="padding: 20px 40px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h3 style="font-size: 16px; color: #0f172a; margin-bottom: 15px;">Zależność mocy i komfortu od rozstawu rur grzewczych</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Rozstaw rur</th>
                        <th style="padding: 10px 0; color: #475569;">Szacowana moc (przy zasilaniu 35°C)</th>
                        <th style="padding: 10px 0; color: #475569;">Komfort i odczucie stopy</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">10 cm</td>
                        <td style="padding: 10px 0;">~85 W/m²</td>
                        <td style="padding: 10px 0;">Równomierne ciepło (Idealne pod pompę ciepła)</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">15 cm</td>
                        <td style="padding: 10px 0;">~65 W/m²</td>
                        <td style="padding: 10px 0;">Komfortowe, optymalne rozwiązanie</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">25 cm</td>
                        <td style="padding: 10px 0;">~35 W/m²</td>
                        <td style="padding: 10px 0;">Zebra termiczna (wyczuwalne zimne pasy podłogi)</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold;">30 cm</td>
                        <td style="padding: 10px 0;">~25 W/m²</td>
                        <td style="padding: 10px 0;">Brak komfortu, drastyczny spadek sprawności</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('zebra-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div></div>';
        }
        return; 
    }

    // LOGIKA SYMULATORA ZEBRA
    var slider = document.getElementById('zebra-slider');
    var spacingVal = document.getElementById('z-spacing');
    var visualizer = document.getElementById('z-visualizer');
    var power = document.getElementById('z-power');
    var feel = document.getElementById('z-feel');
    var cop = document.getElementById('z-cop');
    var warning = document.getElementById('z-warning');

    var dataMap = {
        '10': { pwr: '~85 W/m²', feel: 'Gorąca, równomierna', copTxt: 'Wysoka (niska temp.)', copClass: 'stat-cop-high', warn: false, grad: 'repeating-linear-gradient(90deg, #ef4444, #ef4444 30px, #fca5a5 40px, #ef4444 50px)' },
        '15': { pwr: '~65 W/m²', feel: 'Ciepła, komfortowa', copTxt: 'Optymalna', copClass: 'stat-cop-high', warn: false, grad: 'repeating-linear-gradient(90deg, #ef4444, #ef4444 20px, #fecaca 45px, #ef4444 70px)' },
        '20': { pwr: '~50 W/m²', feel: 'Letnia, wyczuwalne przerwy', copTxt: 'Obniżona', copClass: 'stat-cop-low', warn: false, grad: 'repeating-linear-gradient(90deg, #ef4444, #ef4444 15px, #bfdbfe 55px, #ef4444 95px)' },
        '25': { pwr: '~35 W/m²', feel: 'Wyraźna "zebra termiczna"', copTxt: 'Niska (wyższa temp.)', copClass: 'stat-cop-low', warn: true, grad: 'repeating-linear-gradient(90deg, #ef4444, #ef4444 10px, #60a5fa 65px, #ef4444 120px)' },
        '30': { pwr: '~25 W/m²', feel: 'Agresywna zebra (Zimna)', copTxt: 'Bardzo niska!', copClass: 'stat-cop-low', warn: true, grad: 'repeating-linear-gradient(90deg, #ef4444, #ef4444 8px, #2563eb 80px, #ef4444 150px)' }
    };

    function updateZebra() {
        var val = slider.value;
        var data = dataMap[val];

        spacingVal.innerText = val;
        power.innerText = data.pwr;
        feel.innerText = data.feel;
        
        cop.innerText = data.copTxt;
        cop.className = 'stat-value ' + data.copClass;

        visualizer.style.background = data.grad;

        if (data.warn) {
            warning.style.display = 'block';
        } else {
            warning.style.display = 'none';
        }
    }

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



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

.premium-error-box {
    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(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.error-header {
    background: #fef2f2;
    border-bottom: 1px solid #fecaca;
    padding: 35px 40px;
    position: relative;
    overflow: hidden;
}

.error-header::after {
    content: '💸';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 90px;
    opacity: 0.1;
}

.error-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fee2e2;
    color: var(--danger);
    padding: 6px 14px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.error-header h3 {
    margin: 0 0 10px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--danger);
}

.error-content {
    padding: 40px;
}

.error-text {
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
    margin-bottom: 20px;
}

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

/* INTERAKTYWNY SYMULATOR STRAT CIEPŁA */
.simulator-wrap {
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 30px;
    margin: 35px 0;
}

.sim-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--primary);
    letter-spacing: 1px;
    margin-bottom: 25px;
    display: block;
    text-align: center;
}

.sim-controls-insulation {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 30px;
    background: #fff;
    padding: 20px 30px;
    border-radius: 12px;
    border: 1px solid var(--border-color);
}

.insulation-val-display {
    font-size: 32px;
    font-weight: 900;
    color: var(--accent);
    margin-bottom: 5px;
}

.insulation-slider-wrap {
    width: 100%;
    max-width: 500px;
    margin-top: 15px;
}

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

/* KARTY WYNIKÓW */
.insulation-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.insulation-stat-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 20px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
    position: relative;
    overflow: hidden;
}

.stat-icon { font-size: 24px; margin-bottom: 8px; display: block; }
.stat-label { font-size: 11px; color: #64748b; text-transform: uppercase; font-weight: 800; margin-bottom: 8px; display: block; }
.stat-value { font-size: 20px; font-weight: 900; color: var(--primary); }
.stat-loss-high { color: var(--danger); }
.stat-loss-low { color: var(--success); }

#ins-warning {
    margin-top: 20px;
    padding: 15px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    background: #fef2f2;
    color: var(--danger);
    border: 1px solid #fecaca;
    display: none;
}

#ins-success {
    margin-top: 20px;
    padding: 15px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    background: #f0fdf4;
    color: var(--success);
    border: 1px solid #bbf7d0;
    display: none;
}

/* SEKCJA TAŚMY BRZEGOWEJ */
.edge-tape-box {
    background: #fff7ed;
    border-left: 6px solid var(--warning);
    padding: 25px;
    border-radius: 0 16px 16px 0;
    margin: 30px 0;
}

.edge-tape-box h4 { margin: 0 0 10px 0; color: #9a3412; font-size: 18px; font-weight: 800;}
.edge-tape-box p { margin: 0; color: #78350f; font-size: 15px; line-height: 1.6; }

/* LINK DO ARTYKUŁU */
.article-link-box {
    background: #eff6ff;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid #bfdbfe;
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    transition: 0.3s;
    margin-top: 25px;
}
.article-link-box:hover {
    background: #dbeafe;
    transform: translateY(-2px);
}
.article-link-icon {
    font-size: 24px;
}
.article-link-text {
    font-size: 14px;
    font-weight: 700;
    color: var(--accent);
}

@media (max-width: 768px) {
    .error-header { padding: 25px 20px; }
    .error-content { padding: 25px 20px; }
    .insulation-stats-grid { grid-template-columns: 1fr; gap: 10px; }
    .sim-controls-insulation { padding: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Zależność grubości izolacji podłogi od strat ciepła do gruntu",
    "description": "Kalkulator strat finansowych i energetycznych wynikających z zastosowania niewystarczającej grubości styropianu EPS pod ogrzewaniem podłogowym na gruncie.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Współczynnik przenikania ciepła (U max dla podłogi)",
        "value": "0.18",
        "unitText": "W/(m2K)",
        "description": "Wymaganie zgodnie z WT 2021"
      },
      {
        "@type": "PropertyValue",
        "name": "Wymagana grubość styropianu (WT 2021)",
        "value": "12-15",
        "unitCode": "CMT"
      },
      {
        "@type": "PropertyValue",
        "name": "Ucieczka ciepła przy izolacji 5cm",
        "value": "25-30",
        "unitText": "%"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Kalkulator Strat Finansowych Izolacji Podłogi",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Narzędzie symulujące roczne i wieloletnie straty finansowe wynikające z grubości zastosowanej izolacji termicznej pod ogrzewaniem podłogowym na gruncie.",
    "featureList": [
      "Obliczanie procentowej ucieczki ciepła w grunt",
      "Estymacja kosztów w perspektywie 30 lat",
      "Weryfikacja zgodności z normą WT 2021"
    ]
  }
]
</script>

<div class="premium-error-box" id="insulation-app-lock">
    <div class="error-header">
        <div class="error-badge">Błąd #4</div>
        <h3>Niewłaściwa izolacja termiczna i brzegowa</h3>
        <p style="margin:0; font-size:15px; color:#991b1b; font-weight:600;">Czyli grzanie fundamentów sąsiada.</p>
    </div>

    <div class="error-content">
        <p class="error-text">
            <strong>Fizyka ucieczki ciepła w dół</strong><br>
            Samodzielny montaż ogrzewania podłogowego często skupia się na tym, co widać (rury), a nie na tym, co jest pod spodem (styropian). Tymczasem ciepło, zgodnie z II zasadą termodynamiki, płynie w kierunku niższej temperatury. 
        </p>

        <div class="simulator-wrap">
            <span class="sim-title">Kalkulator Strat Finansowych (Dla domu 100 m²)</span>
            
            <div class="sim-controls-insulation">
                <span style="font-size:12px; font-weight:700; color:#64748b; text-transform:uppercase;">Grubość styropianu na gruncie:</span>
                <div class="insulation-val-display"><span id="i-thickness">5</span> cm</div>
                <div class="insulation-slider-wrap">
                    <input type="range" class="insulation-slider" id="ins-slider" min="2" max="25" step="1" value="5">
                    <div style="display:flex; justify-content:space-between; font-size:11px; font-weight:700; color:#94a3b8;">
                        <span>2 cm</span><span>WT2021</span><span>25 cm</span>
                    </div>
                </div>
                <span style="font-size:11px; color:#64748b; margin-top:10px;">Założenia: Zapotrzebowanie 10000 kWh/rok, Cena energii: 0,30 zł/kWh</span>
            </div>

            <div class="insulation-stats-grid">
                <div class="insulation-stat-card">
                    <span class="stat-icon">📉</span>
                    <span class="stat-label">Ciepło uciekające w ziemię</span>
                    <span class="stat-value stat-loss-high" id="i-percent">25%</span>
                </div>
                <div class="insulation-stat-card">
                    <span class="stat-icon">💸</span>
                    <span class="stat-label">Roczna strata finansowa</span>
                    <span class="stat-value stat-loss-high" id="i-cost-year">750 zł</span>
                </div>
                <div class="insulation-stat-card">
                    <span class="stat-icon">🔥</span>
                    <span class="stat-label">Strata w ciągu 30 lat</span>
                    <span class="stat-value stat-loss-high" id="i-cost-30">22 500 zł</span>
                </div>
            </div>
            
            <div id="ins-warning">
                ⚠️ <strong>Fatalna izolacja!</strong> Nie spełniasz norm budowlanych WT 2021. Znaczna część wyprodukowanego ciepła trafia do ziemi, a Ty wyrzucasz pieniądze w błoto!
            </div>
            <div id="ins-success">
                ✅ <strong>Zgodność z normą WT 2021.</strong> Przy warstwie 15 cm różnica w koszcie zakupu styropianu zwraca się zaledwie w kilka lat dzięki zaoszczędzonej energii.
            </div>
        </div>

        <p class="error-text">
            Przykład z symulatora wyraźnie pokazuje, że przy 5 cm izolacji wyrzucasz przez podłogę tysiące złotych. Różnica w cenie materiału między 5 cm a 15 cm styropianu EPS 100 to zazwyczaj około 1500 zł na 100 m². Zwraca się to błyskawicznie.
        </p>
        <p class="error-text">
            <strong>Wymagania techniczne WT 2021</strong> – wartość współczynnika przenikania ciepła $U_{max}$ dla podłogi na gruncie wynosi 0,18 $W/(m^2K)$. Aby to osiągnąć, potrzebujesz <strong>minimum 12-15 cm styropianu</strong> (lub styroduru XPS o lepszym współczynniku $\lambda$). Na stropie między piętrami wewnątrz ogrzewanej bryły budynku wystarczy 3-5 cm (głównie jako izolacja akustyczna i wyrównanie dla instalacji).
        </p>

        <a href="https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/" class="article-link-box">
            <span class="article-link-icon">📖</span>
            <span class="article-link-text">Jakie są najlepsze sposoby izolacji pod ogrzewanie podłogowe? Zobacz pełny poradnik →</span>
        </a>

        <div class="edge-tape-box">
            <h4>Taśma brzegowa – nie tylko dla dylatacji!</h4>
            <p>
                Zapomnienie o taśmie brzegowej przy ścianach to nie tylko problem pękania betonu (Błąd #2). To również <strong>gigantyczny mostek termiczny</strong>. Jeśli wylewka dotyka zimnej ściany fundamentowej, ciepło z Twojej podłogi ucieka wprost w górę ściany i na zewnątrz budynku. Taśma brzegowa z pianki polietylenowej pełni krytyczną funkcję izolatora termicznego na całym obwodzie pomieszczenia.
            </p>
        </div>

    </div>

    <noscript>
        <div style="padding: 20px 40px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h3 style="font-size: 16px; color: #0f172a; margin-bottom: 15px;">Skutki błędów w izolacji termicznej podłogi na gruncie</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Grubość styropianu (EPS 100)</th>
                        <th style="padding: 10px 0; color: #475569;">Status i ucieczka ciepła w grunt</th>
                        <th style="padding: 10px 0; color: #475569;">Przewidywana strata po 30 latach (dom 100 m2)</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">5 cm</td>
                        <td style="padding: 10px 0;">Krytyczny błąd (strata ok. 25-30%)</td>
                        <td style="padding: 10px 0; color: #dc2626; font-weight: bold;">~ 22 500 PLN</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">10 cm</td>
                        <td style="padding: 10px 0;">Poniżej aktualnych norm WT</td>
                        <td style="padding: 10px 0;">Znaczna ucieczka ciepła</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold;">12-15 cm</td>
                        <td style="padding: 10px 0;">Normatywna (zgodna z WT 2021)</td>
                        <td style="padding: 10px 0; color: #16a34a; font-weight: bold;">Optymalne koszty eksploatacji</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('insulation-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div></div>';
        }
        return; 
    }

    // LOGIKA SYMULATORA STRAT CIEPŁA
    var slider = document.getElementById('ins-slider');
    var valThick = document.getElementById('i-thickness');
    var valPercent = document.getElementById('i-percent');
    var valCostYear = document.getElementById('i-cost-year');
    var valCost30 = document.getElementById('i-cost-30');
    var warning = document.getElementById('ins-warning');
    var success = document.getElementById('ins-success');

    // Stałe z tekstu
    var baseEnergyKwh = 10000;
    var pricePerKwh = 0.30;

    function updateInsulation() {
        var eps = parseFloat(slider.value);
        valThick.innerText = eps;

        // Uproszczony model spadku strat zgodny z tekstem użytkownika (5cm = 25%)
        // Wzór hiperboliczny: loss = 125 / eps_thickness
        var lossPercent = 125 / eps;
        
        // Zabezpieczenie przed nierealnymi ekstremami na wykresie
        if (lossPercent > 62.5) lossPercent = 62.5; 

        var lostKwh = baseEnergyKwh * (lossPercent / 100);
        var costYear = lostKwh * pricePerKwh;
        var cost30y = costYear * 30;

        valPercent.innerText = Math.round(lossPercent) + '%';
        
        // Formatowanie waluty z separatorem spacji
        valCostYear.innerText = Math.round(costYear).toLocaleString('pl-PL') + ' zł';
        valCost30.innerText = Math.round(cost30y).toLocaleString('pl-PL') + ' zł';

        // Stylowanie wyników
        var valueElements = [valPercent, valCostYear, valCost30];
        if (eps < 12) {
            valueElements.forEach(function(el) {
                el.classList.remove('stat-loss-low');
                el.classList.add('stat-loss-high');
            });
            warning.style.display = 'block';
            success.style.display = 'none';
        } else {
            valueElements.forEach(function(el) {
                el.classList.remove('stat-loss-high');
                el.classList.add('stat-loss-low');
            });
            warning.style.display = 'none';
            success.style.display = 'block';
        }
    }

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



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

.premium-error-box {
    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(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.error-header {
    background: #fef2f2;
    border-bottom: 1px solid #fecaca;
    padding: 35px 40px;
    position: relative;
    overflow: hidden;
}

.error-header::after {
    content: '🛑';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 90px;
    opacity: 0.1;
}

.error-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fee2e2;
    color: var(--danger);
    padding: 6px 14px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.error-header h3 {
    margin: 0 0 10px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--danger);
}

.error-content {
    padding: 40px;
}

.error-text {
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
    margin-bottom: 20px;
}

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

/* INTERAKTYWNY SYMULATOR OPORÓW */
.simulator-wrap {
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 30px;
    margin: 35px 0;
}

.sim-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--primary);
    letter-spacing: 1px;
    margin-bottom: 25px;
    display: block;
    text-align: center;
}

.sim-controls-loop {
    background: #fff;
    padding: 20px 30px;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    margin-bottom: 25px;
}

.loop-val-display {
    font-size: 36px;
    font-weight: 900;
    color: var(--accent);
    text-align: center;
    margin: 10px 0;
}

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

.loop-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 20px;
}

.loop-stat-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 15px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

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

.pump-load-container {
    height: 12px;
    background: #e2e8f0;
    border-radius: 6px;
    overflow: hidden;
    margin-top: 15px;
}

.pump-load-bar {
    height: 100%;
    width: 20%;
    background: var(--success);
    transition: 0.3s ease;
}

.sim-msg {
    margin-top: 15px;
    padding: 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.msg-success { background: #f0fdf4; color: var(--success); border: 1px solid #bbf7d0; }
.msg-warning { background: #fffbeb; color: var(--warning); border: 1px solid #fde68a; }
.msg-danger { background: #fef2f2; color: var(--danger); border: 1px solid #fecaca; }

/* ALERT ZAŁAMANIA RURY */
.kink-alert-box {
    background: #fef2f2;
    border-left: 6px solid var(--danger);
    padding: 25px;
    border-radius: 0 16px 16px 0;
    margin: 35px 0;
    display: flex;
    gap: 20px;
    align-items: center;
}

.kink-icon {
    font-size: 40px;
    flex-shrink: 0;
}

.kink-content h4 { margin: 0 0 8px 0; color: #991b1b; font-size: 18px; font-weight: 800;}
.kink-content p { margin: 0; color: #7f1d1d; font-size: 15px; line-height: 1.6; }
.kink-content strong { color: #7f1d1d; background: #fee2e2; padding: 2px 6px; border-radius: 4px;}

/* LINK DO ARTYKUŁU */
.article-link-box {
    background: #eff6ff;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid #bfdbfe;
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    transition: 0.3s;
    margin-top: 25px;
}
.article-link-box:hover {
    background: #dbeafe;
    transform: translateY(-2px);
}
.article-link-icon { font-size: 24px; }
.article-link-text { font-size: 14px; font-weight: 700; color: var(--accent); }

@media (max-width: 768px) {
    .error-header { padding: 25px 20px; }
    .error-content { padding: 25px 20px; }
    .loop-stats-grid { grid-template-columns: 1fr; }
    .kink-alert-box { flex-direction: column; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Kalkulator oporów hydraulicznych i limitów długości pętli ogrzewania podłogowego",
    "description": "Limity projektowe i hydrauliczne dla długości pętli rur PEX 16mm w instalacjach ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Maksymalna długość pętli (PEX 16x2.0)",
        "value": "100",
        "unitCode": "MTR",
        "description": "Twarda granica długości w celu uniknięcia przeciążenia pompy obiegowej"
      },
      {
        "@type": "PropertyValue",
        "name": "Optymalna długość pętli",
        "value": "80-90",
        "unitCode": "MTR"
      },
      {
        "@type": "PropertyValue",
        "name": "Szacunkowy opór liniowy rury 16mm (przy przepływie 1.5 l/min)",
        "value": "1.2",
        "unitText": "mbar/m"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Kalkulator oporów hydraulicznych pętli PEX",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywne narzędzie pozwalające obliczyć opory liniowe i całkowite pętli ogrzewania podłogowego oraz zweryfikować obciążenie pompy obiegowej.",
    "featureList": [
      "Obliczanie oporu jednostkowego rury",
      "Kalkulacja całkowitego oporu z uwzględnieniem armatury",
      "Wizualizacja obciążenia granicznego pompy"
    ]
  }
]
</script>

<div class="premium-error-box" id="loop-app-lock">
    <div class="error-header">
        <div class="error-badge">Błąd #5</div>
        <h3>Zbyt długie pętle i załamania rur</h3>
        <p style="margin:0; font-size:15px; color:#991b1b; font-weight:600;">Czyli moment, w którym pompa obiegowa mówi "dość".</p>
    </div>

    <div class="error-content">
        <p class="error-text">
            <strong>Hydraulika dla opornych: Dlaczego 120 metrów rury to katastrofa?</strong><br>
            Woda płynąca w rurze PEX 16x2,0 mm napotyka <strong>opory liniowe i miejscowe</strong>. Każdy metr rury, każde kolanko i każda spinka to przeszkoda dla przepływu. Jeśli pętla jest za długa, opór hydrauliczny przewyższa wysokość podnoszenia pompy obiegowej (zazwyczaj jest to 4-6 metrów słupa wody dla całego układu).
        </p>

        <div class="simulator-wrap">
            <span class="sim-title">Kalkulator oporów hydraulicznych (Uproszczony)</span>
            <div style="font-size:11px; text-align:center; color:#64748b; margin-bottom:15px;">Dla rury PEX 16x2,0 przy przepływie ~1,5 l/min</div>
            
            <div class="sim-controls-loop">
                <span style="font-size:12px; font-weight:700; color:#64748b; text-transform:uppercase; text-align:center; display:block;">Długość pojedynczej pętli:</span>
                <div class="loop-val-display"><span id="l-length">120</span> m</div>
                <input type="range" class="loop-slider" id="loop-slider" min="30" max="150" step="1" value="120">
                <div style="display:flex; justify-content:space-between; font-size:11px; font-weight:700; color:#94a3b8;">
                    <span>30 m</span><span>90 m (Max)</span><span>150 m</span>
                </div>
            </div>

            <div class="loop-stats-grid">
                <div class="loop-stat-card">
                    <span class="stat-label">Opór jednostkowy rury (Liniowy)</span>
                    <span class="stat-value" id="l-linear">144.0 mbar</span>
                </div>
                <div class="loop-stat-card">
                    <span class="stat-label">Opór całkowity (+ zawory/kolana ~40%)</span>
                    <span class="stat-value" id="l-total">1.47 m H₂O</span>
                </div>
            </div>

            <div style="font-size:11px; font-weight:700; color:#64748b; text-transform:uppercase;">Obciążenie graniczne dla pętli 16mm:</div>
            <div class="pump-load-container">
                <div class="pump-load-bar" id="l-bar"></div>
            </div>
            
            <div id="l-msg" class="sim-msg msg-danger">
                ❌ Katastrofa! Opór przekracza możliwości standardowej pompy dla jednego obwodu.
            </div>
        </div>

        <p class="error-text">
            Do oporu samej rury dochodzą opory na rozdzielaczu, zaworach i kolanach (z reguły to 30-50% więcej). 
            Jeśli różnica długości między pętlami jest duża, musisz zdławić krótsze pętle zaworami, aby zmusić wodę do płynięcia w te dłuższe. To generuje hałas (szum wody w rotametrach) i niepotrzebne obciążenie pompy.
        </p>

        <p class="error-text">
            <strong>Maksymalna długość pętli (rura 16 mm):</strong> Nie przekraczaj 100 metrów! Idealnie trzymać się wartości 80-90 m, aby mieć margines na nierówności i strefy brzegowe.
        </p>

        <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/" class="article-link-box">
            <span class="article-link-icon">📏</span>
            <span class="article-link-text">Dlaczego 100 metrów to twarda granica? Przeczytaj pełną analizę długości obwodów grzewczych →</span>
        </a>

        <div class="kink-alert-box">
            <div class="kink-icon">⚠️</div>
            <div class="kink-content">
                <h4>Błąd montażu: Załamanie (złamanie) rury</h4>
                <p>
                    Rury PERT i PEX są elastyczne, ale mają swoją granicę. Jeśli przy układaniu rury zginasz ją pod kątem ostrym (bez użycia sprężyny zewnętrznej lub wewnętrznej do gięcia), na zewnętrznym łuku tworzy się <strong>białe przełamanie</strong>. 
                    <br><br>
                    To znak, że struktura polimeru oraz wkładka aluminiowa (w PEX) zostały naruszone. W tym miejscu rura traci wytrzymałość mechaniczną i pod wpływem ciągłych skoków ciśnienia oraz temperatury <strong>pęknie w ciągu 5-10 lat</strong>. Jeśli zobaczysz takie miejsce na budowie – bezwzględnie wytnij je i połącz rurę <strong>systemową złączką zaprasowywaną</strong> (złączki zaciskowe/prasowane można bezpiecznie zatapiać w wylewce, w przeciwieństwie do starych mitów).
                </p>
            </div>
        </div>

    </div>

    <noscript>
        <div style="padding: 20px 40px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h3 style="font-size: 16px; color: #0f172a; margin-bottom: 15px;">Limity długości pętli grzewczych i opory hydrauliczne</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Długość pętli (Rura 16x2.0)</th>
                        <th style="padding: 10px 0; color: #475569;">Szacowany opór całkowity</th>
                        <th style="padding: 10px 0; color: #475569;">Status i obciążenie pompy</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">Do 90 m</td>
                        <td style="padding: 10px 0;">&lt; 1.1 m H₂O</td>
                        <td style="padding: 10px 0; color: #16a34a; font-weight: bold;">Optymalne (Bezpieczne)</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">90 m - 100 m</td>
                        <td style="padding: 10px 0;">~ 1.2 m H₂O</td>
                        <td style="padding: 10px 0; color: #ea580c; font-weight: bold;">Graniczne (Dopuszczalne)</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold;">Powyżej 100 m (np. 120 m)</td>
                        <td style="padding: 10px 0;">&gt; 1.45 m H₂O</td>
                        <td style="padding: 10px 0; color: #dc2626; font-weight: bold;">Krytyczne (Przeciążenie pompy)</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('loop-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div></div>';
        }
        return; 
    }

    // LOGIKA SYMULATORA OPORÓW
    var slider = document.getElementById('loop-slider');
    var valLength = document.getElementById('l-length');
    var valLinear = document.getElementById('l-linear');
    var valTotal = document.getElementById('l-total');
    var bar = document.getElementById('l-bar');
    var msg = document.getElementById('l-msg');

    function updateLoop() {
        var L = parseFloat(slider.value);
        valLength.innerText = L;

        // Wartości z tekstu użytkownika:
        // Opór jedn. = 1.2 mbar/m
        // Opór całkowity (dla 120m) = 144 mbar = 1.47 m H2O
        // Dodatki miejscowe = +40% (uśrednione 30-50%)

        var linearMbar = L * 1.2;
        var totalMbar = linearMbar * 1.4; // dodajemy opory miejscowe i rozdzielacza
        
        // Przelicznik mbar na metry słupa wody (100 mbar to ok. 1.02 m H2O)
        var totalH2O = totalMbar * 0.0102;

        valLinear.innerText = linearMbar.toFixed(1) + ' mbar';
        valTotal.innerText = totalH2O.toFixed(2) + ' m H₂O';

        // Obliczanie paska (skala do 150m)
        var percent = (L / 150) * 100;
        bar.style.width = percent + '%';

        if (L <= 90) {
            bar.style.backgroundColor = 'var(--success)';
            msg.innerText = "✅ Optymalna długość pętli. Woda przepłynie bez obciążania pompy.";
            msg.className = "sim-msg msg-success";
        } else if (L <= 100) {
            bar.style.backgroundColor = 'var(--warning)';
            msg.innerText = "⚠️ Długość graniczna! Zbliżasz się do maksymalnych akceptowalnych oporów dla rury 16mm.";
            msg.className = "sim-msg msg-warning";
        } else {
            bar.style.backgroundColor = 'var(--danger)';
            msg.innerText = "❌ Katastrofa hydrauliczna! Opór drastycznie przewyższa normę. Pętla nie dogrzeje pomieszczenia.";
            msg.className = "sim-msg msg-danger";
        }
    }

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



<style>
:root {
    --primary-hvac: #0f172a;
    --accent-hvac: #2563eb;
    --bg-tip: #f1f5f9;
}

/* Dodano lekki margines górny dla całego kontenera w związku z H2 */
.expert-tip-wrapper {
    max-width: 850px;
    margin: 50px auto 40px auto;
}

/* Nowy styl dla H2 */
.expert-tip-wrapper h2 {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary-hvac);
    margin: 0 0 20px 0;
    text-align: center;
}

.expert-tip-container {
    background: var(--bg-tip);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    gap: 25px;
    align-items: center;
    border-left: 6px solid var(--accent-hvac);
    position: relative;
    font-family: 'Inter', -apple-system, sans-serif;
    text-align: left;
}

.expert-tip-photo-wrap {
    flex-shrink: 0;
    width: 90px;
    height: 90px;
    position: relative;
}

.expert-tip-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.expert-tip-photo-wrap::after {
    content: '📐';
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: #ffffff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.expert-tip-content {
    flex-grow: 1;
}

.expert-tip-label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    color: var(--accent-hvac);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.expert-tip-text {
    font-size: 16px;
    line-height: 1.6;
    color: var(--primary-hvac);
    font-style: italic;
    margin: 0;
}

.expert-tip-signature {
    display: block;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
}

@media (max-width: 600px) {
    .expert-tip-container {
        flex-direction: column;
        text-align: center;
        padding: 25px;
    }
    .expert-tip-photo-wrap {
        margin-bottom: 10px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Projekt instalacji to dla wykonawcy świętość, a dla Ciebie podstawa rzetelnej inwentaryzacji powykonawczej. Zanim wylejesz beton, zrób dokładne zdjęcia i zweryfikuj, czy każda pętla leży dokładnie tak, jak przewidział projektant.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "CEO & Główny Projektant",
      "worksFor": {
        "@type": "Organization",
        "name": "Projekt-Ogrzewania.pl"
      }
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Kluczowe zalecenia inżynierskie przed wylewką betonu",
    "description": "Zestawienie procedur weryfikacyjnych dla inwestora przed przyjazdem betoniarki, mających na celu zapewnienie zgodności montażu z projektem hydraulicznym.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Dokumentacja fotograficzna",
        "description": "Rzetelna inwentaryzacja powykonawcza przed ukryciem rur."
      },
      {
        "@type": "PropertyValue",
        "name": "Weryfikacja układu pętli",
        "description": "Sprawdzenie zgodności fizycznego montażu z projektem hydraulicznym."
      },
      {
        "@type": "PropertyValue",
        "name": "Zgodność z obliczeniami",
        "description": "Gwarancja osiągnięcia zakładanej mocy grzewczej oraz optymalizacji kosztów eksploatacji."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="expert-tip-wrapper">
    <h2><span style="margin-right:10px">🛡️</span>Robert Kucharski: Moja rekomendacja dla inwestorów</h2>
    
    <div class="expert-tip-container" id="expert-tip-hvac">
        <div class="expert-tip-photo-wrap">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="expert-tip-photo" loading="lazy">
        </div>
        <div class="expert-tip-content">
            <span class="expert-tip-label">Twoja polisa bezpieczeństwa</span>
            <p class="expert-tip-text">
                "Projekt instalacji to dla wykonawcy świętość, a dla Ciebie podstawa rzetelnej inwentaryzacji powykonawczej. Zanim wylejesz beton, zrób dokładne zdjęcia i zweryfikuj, czy każda pętla leży dokładnie tak, jak przewidział projektant. Tylko pełna zgodność z obliczeniami hydraulicznymi gwarantuje, że Twoje ogrzewanie osiągnie zakładaną moc i niskie koszty eksploatacji."
            </p>
            <span class="expert-tip-signature">— Robert Kucharski, CEO & Główny Projektant Projekt-Ogrzewania.pl</span>
        </div>
    </div>

    <noscript>
        <div style="padding: 20px; background: #f1f5f9; border-radius: 20px; margin-top: 20px; font-family: sans-serif;">
            <h3 style="font-size: 16px; color: #0f172a; margin-bottom: 15px;">Zalecenia inżynierskie przed wylewką betonu</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Działanie inwestora</th>
                        <th style="padding: 10px 0; color: #475569;">Cel i rekomendacja inżynierska</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">Dokumentacja fotograficzna</td>
                        <td style="padding: 10px 0;">Rzetelna inwentaryzacja powykonawcza przed ukryciem rur.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">Weryfikacja układu pętli</td>
                        <td style="padding: 10px 0;">Sprawdzenie zgodności fizycznego montażu z projektem hydraulicznym.</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold;">Zgodność z obliczeniami</td>
                        <td style="padding: 10px 0;">Gwarancja osiągnięcia zakładanej mocy grzewczej i niskich kosztów.</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('expert-tip-hvac');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 200px; font-family: sans-serif; border-radius: 20px; width: 100%;">
                    <span style="font-size: 32px; margin-bottom: 15px;">🔒</span>
                    <div style="margin-top:0; font-size: 20px; font-weight: bold; margin-bottom: 10px;">Wskazówka ekspercka chroniona prawem autorskim</div>
                    <p style="font-size: 14px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ten moduł jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany nielegalnie.</p>
                </div>
            `;
            container.style.borderLeft = 'none';
            container.style.background = 'transparent';
            container.style.padding = '0';
        }
    }
});
</script>



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

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

.params-title {
    text-align: center;
    margin-bottom: 40px;
}

.params-title h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: var(--primary);
}

.params-title p {
    color: #64748b;
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
}

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

.param-card {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f1f5f9;
    padding: 25px;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.param-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -10px rgba(37, 99, 235, 0.12);
    border-color: #bfdbfe;
}

.card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px dashed #e2e8f0;
}

.icon-box {
    width: 42px;
    height: 42px;
    background: #eff6ff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.header-text h4 {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
}

.header-text span {
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.result-box {
    background: var(--bg-light);
    padding: 15px;
    border-radius: 12px;
    text-align: center;
    margin-bottom: 15px;
    border-top: 3px solid var(--accent);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.r-thick {
    display: block;
    font-size: 16px;
    font-weight: 800;
    color: var(--primary);
}

.r-value {
    display: inline-block;
    background: #ffffff;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--accent);
    margin-top: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.justification {
    font-size: 12px;
    line-height: 1.5;
    color: #475569;
    margin: 0;
    background: #f8fafc;
    padding: 12px;
    border-radius: 10px;
    border-left: 3px solid #cbd5e1;
}

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

@media (max-width: 950px) {
    .param-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .param-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "name": "Ściąga parametrów technicznych do montażu ogrzewania podłogowego",
  "description": "Zestawienie najważniejszych wartości technicznych i normatywnych wymaganych podczas budowy instalacji HVAC (podłogówki).",
  "license": "https://projekt-ogrzewania.pl/",
  "variableMeasured": [
    { "@type": "PropertyValue", "name": "Grubość styropianu na gruncie", "value": "15-20", "unitCode": "CMT" },
    { "@type": "PropertyValue", "name": "Folia PE pod styropian (grubość)", "value": "0.2", "unitText": "mm" },
    { "@type": "PropertyValue", "name": "Wysokość taśmy brzegowej ponad wylewkę", "value": "15", "unitCode": "CMT" },
    { "@type": "PropertyValue", "name": "Rozstaw rur (środek pomieszczenia)", "value": "15", "unitCode": "CMT" },
    { "@type": "PropertyValue", "name": "Rozstaw rur (strefa brzegowa)", "value": "10", "unitCode": "CMT" },
    { "@type": "PropertyValue", "name": "Maksymalna długość pętli PEX 16x2", "value": "90", "unitCode": "MTR" },
    { "@type": "PropertyValue", "name": "Ciśnienie próby szczelności", "value": "6", "unitCode": "BAR" },
    { "@type": "PropertyValue", "name": "Czas dojrzewania jastrychu cementowego", "value": "28", "unitText": "dni" },
    { "@type": "PropertyValue", "name": "Wygrzewanie wstępne (Start)", "value": "20", "unitText": "°C" }
  ],
  "creator": {
    "@type": "Person",
    "name": "Robert Kucharski"
  }
}
</script>

<div class="premium-params" id="params-app">
    <div class="params-title">
        <h2>Tabela parametrów technicznych</h2>
        <p>Ściąga dla samodzielnego montażu – najważniejsze wartości w pigułce.</p>
    </div>

    <div class="param-grid">
        <div class="param-card">
            <div class="card-header">
                <div class="icon-box">🧱</div>
                <div class="header-text">
                    <span>Podstawa</span>
                    <h4>Grubość styropianu na gruncie</h4>
                </div>
            </div>
            <div class="result-box">
                <span class="r-thick">15 - 20 cm</span>
                <span class="r-value">EPS 100 lub EPS 200</span>
            </div>
            <p class="justification"><strong>Wymóg WT2021:</strong> Zapobiega ucieczce ciepła do gruntu.</p>
        </div>

        <div class="param-card">
            <div class="card-header">
                <div class="icon-box">🛡️</div>
                <div class="header-text">
                    <span>Izolacja</span>
                    <h4>Folia PE pod styropian</h4>
                </div>
            </div>
            <div class="result-box">
                <span class="r-thick">Min. 0,2 mm</span>
                <span class="r-value">Zakład 15 cm</span>
            </div>
            <p class="justification"><strong>Paroizolacja!</strong> Chroni styropian przed wilgocią z chudziaka.</p>
        </div>

        <div class="param-card">
            <div class="card-header">
                <div class="icon-box">🎗️</div>
                <div class="header-text">
                    <span>Dylatacja</span>
                    <h4>Taśma brzegowa</h4>
                </div>
            </div>
            <div class="result-box">
                <span class="r-thick">Wysokość min. 15 cm</span>
                <span class="r-value">Powyżej poziomu wylewki</span>
            </div>
            <p class="justification"><strong>Uwaga:</strong> Odciąć nadmiar dopiero po ułożeniu docelowych paneli/płytek!</p>
        </div>

        <div class="param-card">
            <div class="card-header">
                <div class="icon-box">🦶</div>
                <div class="header-text">
                    <span>Hydraulika</span>
                    <h4>Rozstaw rur (strefa komfortu)</h4>
                </div>
            </div>
            <div class="result-box">
                <span class="r-thick">15 cm</span>
                <span class="r-value">Środek pomieszczenia</span>
            </div>
            <p class="justification"><strong>Optimum dla pompy ciepła.</strong> Gwarantuje brak "zebry termicznej".</p>
        </div>

        <div class="param-card">
            <div class="card-header">
                <div class="icon-box">🪟</div>
                <div class="header-text">
                    <span>Hydraulika</span>
                    <h4>Rozstaw rur (strefa brzegowa)</h4>
                </div>
            </div>
            <div class="result-box">
                <span class="r-thick">10 cm</span>
                <span class="r-value">Gęstsze ułożenie</span>
            </div>
            <p class="justification"><strong>Zastosowanie:</strong> Przy dużych oknach i drzwiach balkonowych, gdzie straty są największe.</p>
        </div>

        <div class="param-card">
            <div class="card-header">
                <div class="icon-box">🔄</div>
                <div class="header-text">
                    <span>Ograniczenia</span>
                    <h4>Maksymalna długość pętli</h4>
                </div>
            </div>
            <div class="result-box">
                <span class="r-thick">90 m</span>
                <span class="r-value">Absolutne max: 100 m</span>
            </div>
            <p class="justification">Dla rury PEX 16x2. <strong>Zasada:</strong> Różnica długości pętli na jednym rozdzielaczu max 10%.</p>
        </div>

        <div class="param-card">
            <div class="card-header">
                <div class="icon-box">🗜️</div>
                <div class="header-text">
                    <span>Bezpieczeństwo</span>
                    <h4>Ciśnienie próby szczelności</h4>
                </div>
            </div>
            <div class="result-box">
                <span class="r-thick">6 barów</span>
                <span class="r-value">0,6 MPa</span>
            </div>
            <p class="justification"><strong>Kluczowe:</strong> Utrzymywać rury pod takim ciśnieniem podczas betonowania!</p>
        </div>

        <div class="param-card">
            <div class="card-header">
                <div class="icon-box">⏳</div>
                <div class="header-text">
                    <span>Wylewka</span>
                    <h4>Czas dojrzewania jastrychu</h4>
                </div>
            </div>
            <div class="result-box">
                <span class="r-thick">28 dni</span>
                <span class="r-value">Dla jastrychu cementowego</span>
            </div>
            <p class="justification">Przed pierwszym uruchomieniem pompy. <strong>Bezwzględnie bez grzania!</strong></p>
        </div>

        <div class="param-card">
            <div class="card-header">
                <div class="icon-box">🌡️</div>
                <div class="header-text">
                    <span>Eksploatacja</span>
                    <h4>Wygrzewanie wstępne</h4>
                </div>
            </div>
            <div class="result-box">
                <span class="r-thick">Start od 20°C</span>
                <span class="r-value">Codziennie +5°C</span>
            </div>
            <p class="justification">Stopniowe podnoszenie temperatury <strong>zapobiega szokowi termicznemu</strong> i pękaniu betonu.</p>
        </div>
    </div>

    <noscript>
        <div style="padding: 30px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 20px; margin-top: 40px; font-family: sans-serif;">
            <h3 style="margin-top: 0;">Parametry techniczne: Ogrzewanie podłogowe</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px;">Obszar instalacji</th>
                        <th style="padding: 10px;">Parametr techniczny</th>
                        <th style="padding: 10px;">Zalecana wartość</th>
                        <th style="padding: 10px;">Uzasadnienie inżynieryjne</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px;">Podstawa (grunt)</td>
                        <td style="padding: 10px; font-weight: bold;">Grubość styropianu</td>
                        <td style="padding: 10px;">15 - 20 cm (EPS 100/200)</td>
                        <td style="padding: 10px;">Zgodność z WT2021, izolacja od gruntu.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px;">Izolacja</td>
                        <td style="padding: 10px; font-weight: bold;">Folia PE</td>
                        <td style="padding: 10px;">Min. 0.2 mm (15 cm zakład)</td>
                        <td style="padding: 10px;">Paroizolacja, ochrona przed wilgocią.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px;">Dylatacja</td>
                        <td style="padding: 10px; font-weight: bold;">Taśma brzegowa</td>
                        <td style="padding: 10px;">Min. 15 cm ponad wylewkę</td>
                        <td style="padding: 10px;">Odcinać dopiero po ułożeniu posadzki.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px;">Hydraulika</td>
                        <td style="padding: 10px; font-weight: bold;">Rozstaw rur (środek)</td>
                        <td style="padding: 10px;">15 cm</td>
                        <td style="padding: 10px;">Optymalne dla pomp ciepła, brak zebry.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px;">Hydraulika</td>
                        <td style="padding: 10px; font-weight: bold;">Rozstaw rur (brzeg)</td>
                        <td style="padding: 10px;">10 cm</td>
                        <td style="padding: 10px;">Kompensacja dużych strat przy oknach.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px;">Ograniczenia</td>
                        <td style="padding: 10px; font-weight: bold;">Maksymalna długość pętli</td>
                        <td style="padding: 10px;">90 m (Max 100 m)</td>
                        <td style="padding: 10px;">Dla rury 16x2. Max różnica dł. to 10%.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px;">Bezpieczeństwo</td>
                        <td style="padding: 10px; font-weight: bold;">Próba szczelności</td>
                        <td style="padding: 10px;">6 barów (0.6 MPa)</td>
                        <td style="padding: 10px;">Ciśnienie musi być stałe podczas betonowania.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px;">Wylewka</td>
                        <td style="padding: 10px; font-weight: bold;">Czas dojrzewania</td>
                        <td style="padding: 10px;">28 dni</td>
                        <td style="padding: 10px;">Dla cementu. Brak grzania w tym czasie!</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px;">Eksploatacja</td>
                        <td style="padding: 10px; font-weight: bold;">Wygrzewanie wstępne</td>
                        <td style="padding: 10px;">Start od 20°C (+5°C / doba)</td>
                        <td style="padding: 10px;">Zapobiega szokowi termicznemu betonu.</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

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



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



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

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

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

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

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

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

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

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

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

.type-btn {
    padding: 14px 8px;
    border: 2px solid #cbd5e1;
    border-radius: 12px;
    cursor: pointer;
    text-align: center;
    font-weight: 700;
    font-size: 13px;
    color: #475569;
    background: #fff;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.type-btn span {
    margin-top: 4px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Kalkulator ilości rury do ogrzewania podłogowego",
    "description": "Narzędzie inżynierskie pozwalające oszacować wymaganą długość rury grzewczej i liczbę pętli na podstawie powierzchni, długości ścian zewnętrznych i rozstawu rur.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Wzór na strefę główną",
        "value": "Powierzchnia / Rozstaw rur w metrach"
      },
      {
        "@type": "PropertyValue",
        "name": "Wzór na strefę brzegową",
        "value": "2 * Długość ścian zewnętrznych w metrach"
      },
      {
        "@type": "PropertyValue",
        "name": "Wzór na całkowitą długość",
        "value": "Strefa główna + Strefa brzegowa"
      },
      {
        "@type": "PropertyValue",
        "name": "Maksymalna bezpieczna długość pętli (Dzielnik obwodów)",
        "value": "90",
        "unitCode": "MTR"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Kalkulator ilości rury PEX (Ogrzewanie Podłogowe)",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Profesjonalny kalkulator do obliczania zapotrzebowania na rurę grzewczą z uwzględnieniem zagęszczenia w strefach brzegowych oraz limitów hydraulicznych pętli.",
    "featureList": [
      "Obliczanie całkowitej długości rury",
      "Podział na strefę główną i brzegową",
      "Sugestia wymaganej liczby pętli na rozdzielaczu"
    ]
  }
]
</script>

<div class="calc-intro">
    <h2>Prosty kalkulator ilości rury dla majsterkowicza</h2>
    <p>Oszacuj, ile metrów rury potrzebujesz do swojego pomieszczenia i sprawdź, czy woda da radę ją przepchnąć! Narzędzie oparte o wytyczne inżynierów z <a href="https://projekt-ogrzewania.pl/" style="color: #2563eb; font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>. Wynik wyraźnie wskaże Ci, czy podłogę musisz podzielić na kilka pętli grzewczych na rozdzielaczu.</p>
</div>

<div class="screed-calc" id="pipe-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            
            <span class="section-title">1. Wymiary pomieszczenia</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia pokoju</label><span class="val-badge"><span id="v-area">30</span> m²</span></div>
                <input type="range" id="area" min="5" max="80" step="1" value="30">
            </div>
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Łączna dł. ścian zewnętrznych</label><span class="val-badge"><span id="v-walls">10</span> m</span></div>
                <input type="range" id="walls" min="0" max="30" step="1" value="10">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Ściany, przez które ucieka ciepło (tu zagęszczamy rurę).</div>
            </div>

            <span class="section-title">2. Planowany rozstaw rur</span>
            <div class="type-selector" style="margin-bottom:0">
                <div class="type-btn" id="btn-roz-10">10 cm<span style="font-size:10px; font-weight:400">Gęsty (Łazienki / Pompa Ciepła)</span></div>
                <div class="type-btn active" id="btn-roz-15">15 cm<span style="font-size:10px; font-weight:400">Standard / Optymalny</span></div>
                <div class="type-btn" id="btn-roz-20">20 cm<span style="font-size:10px; font-weight:400">Rzadszy</span></div>
                <div class="type-btn" id="btn-roz-25">25 cm<span style="font-size:10px; font-weight:400">Tylko jako tło cieplne</span></div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Szacowana całkowita długość rury</span>
                <span class="score-num" id="resTotal">--</span>
                <span class="score-label">metrów</span>
                <div id="risk-msg">⚠️ Uwaga!</div>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Rura w części głównej:</span><strong id="resMain">--</strong></div>
                <div class="tech-item"><span>Rura w strefie brzegowej (okna):</span><strong id="resEdge">--</strong></div>
                
                <div class="material-grid">
                    <div class="mini-card"><span>Wymagana liczba pętli (obwodów):</span><strong id="resLoops">--</strong></div>
                </div>
            </div>
            
            <div style="margin-top:20px; font-size:11px; color:#94a3b8; font-weight:700">PROPORCJA ZUŻYCIA RURY:</div>
            <div style="height:12px; display:flex; border-radius:6px; overflow:hidden; margin-top:10px; background:#e2e8f0">
                <div id="bar-main" style="background:var(--accent); width:80%; transition: 0.3s;"></div>
                <div id="bar-edge" style="background:#94a3b8; width:20%; transition: 0.3s;"></div>
            </div>
            <div style="display: flex; justify-content: space-between; font-size: 10px; color: #64748b; margin-top: 5px;">
                <span>Powierzchnia główna</span>
                <span>Zagęszczenie pod ścianami</span>
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Chcesz obliczyć cały dom?</h3>
            <p style="margin:0; font-size:14px; color:#475569">Ten uproszczony wzór świetnie sprawdza się do szybkiej estymacji jednego pokoju. Jeśli chcesz zaprojektować rozdzielacz dla całego domu, skorzystaj z naszego zaawansowanego narzędzia.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="https://projekt-ogrzewania.pl/kompleksowy-kalkulator-ogrzewania-podlogowego/" class="cta-btn">
                KOMPLEKSOWY KALKULATOR →
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn" style="background:#1e293b">
                ZAMÓW PROJEKT INŻYNIERSKI
            </a>
        </div>
    </div>

    <noscript>
        <div style="padding: 30px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h3 style="font-size: 18px; color: #0f172a;">Metodyka obliczeń zapotrzebowania na rurę</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left; margin-bottom: 20px;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Rozstaw rur</th>
                        <th style="padding: 10px 0; color: #475569;">Zużycie na 1 m²</th>
                        <th style="padding: 10px 0; color: #475569;">Komentarz</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">10 cm</td>
                        <td style="padding: 10px 0;">~10.0 m</td>
                        <td style="padding: 10px 0;">Łazienki i pompy ciepła.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">15 cm</td>
                        <td style="padding: 10px 0;">~6.6 m</td>
                        <td style="padding: 10px 0;">Standard rynkowy.</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold;">25 cm</td>
                        <td style="padding: 10px 0;">~4.0 m</td>
                        <td style="padding: 10px 0;">Wyłącznie jako tło cieplne.</td>
                    </tr>
                </tbody>
            </table>
            <p style="font-size: 13px; color: #475569; line-height: 1.6;">
                <strong>Wzór:</strong> Całkowita długość = (Powierzchnia / Rozstaw) + (2 * Długość ścian zewnętrznych).<br>
                Zgodnie z prawami fizyki, pojedyncza pętla z rury 16x2.0 nie powinna przekraczać 100 metrów ze względu na opory hydrauliczne.
            </p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA (Domain Lock)
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('pipe-calc-app');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; font-family: sans-serif;">' +
                '<span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>' +
                '<div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px; color: #dc2626;">Narzędzie chronione</div>' +
                '<p style="font-size: 16px; margin-bottom: 25px;">Ten kalkulator jest własnością serwisu <a href="https://projekt-ogrzewania.pl/" style="color: #dc2626; font-weight: bold; text-decoration: underline;">Projekt-Ogrzewania.pl</a></p>' +
                '<a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 14px 28px; background: #dc2626; color: #ffffff; text-decoration: none; border-radius: 12px; font-weight: 800;">PRZEJDŹ DO ORYGINAŁU</a>' +
                '</div>';
        }
        return; 
    }

    var spacingMeters = 0.15; // Domyślny rozstaw to 15 cm
    var SAFE_LOOP_LIMIT = 90; // Oczekiwany dzielnik długości pętli
    var MAX_LOOP_LIMIT = 100; // Bezwzględny limit pętli
    
    function updateCalc() {
        var areaEl = document.getElementById('area');
        var wallsEl = document.getElementById('walls');
        
        if(!areaEl || !wallsEl) return;

        var area = parseFloat(areaEl.value);
        var walls = parseFloat(wallsEl.value);
        
        // Aktualizacja widoków wartości na suwakach
        document.getElementById('v-area').innerText = area;
        document.getElementById('v-walls').innerText = walls;

        // MATEMATYKA ZGODNA ZE WZOREM: (Powierzchnia / Rozstaw) + (2 * Ściany)
        var mainLength = area / spacingMeters;
        var edgeLength = 2 * walls;
        var totalLength = mainLength + edgeLength;
        
        // Obliczanie ilości pętli (zaokrąglanie w górę, docelowa pętla to 90m)
        var requiredLoops = Math.ceil(totalLength / SAFE_LOOP_LIMIT);
        
        // Aktualizacja wartości w widoku
        document.getElementById('resTotal').innerText = Math.round(totalLength);
        document.getElementById('resMain').innerText = Math.round(mainLength) + ' m';
        document.getElementById('resEdge').innerText = Math.round(edgeLength) + ' m';
        document.getElementById('resLoops').innerText = requiredLoops + (requiredLoops === 1 ? ' pętla' : (requiredLoops > 4 ? ' pętli' : ' pętle'));

        // Logika ostrzeżeń i kolorów
        var mBox = document.getElementById('mainBox');
        var rMsg = document.getElementById('risk-msg');
        var warnings = [];
        var boxColor = 'var(--success)';

        if (totalLength > MAX_LOOP_LIMIT) { 
            warnings.push('❌ <strong>Stanowczo za dużo!</strong> Długość przekracza bezpieczny limit (100 m). Zgodnie z fizyką przepływu, pompa nie podoła oporom hydraulicznym.<br><br>Pomieszczenie musi zostać podzielone na co najmniej <strong>' + requiredLoops + ' osobne pętle</strong> na rozdzielaczu!'); 
            boxColor = 'var(--danger)'; 
        } else if (totalLength > SAFE_LOOP_LIMIT) { 
            warnings.push('⚠️ <strong>Zwróć uwagę:</strong> Zbliżasz się do granicy wydajności pompy obiegowej (90-100m). Rozważ podzielenie na 2 pętle.'); 
            boxColor = 'var(--warning)'; 
        }

        if (warnings.length > 0) {
            rMsg.innerHTML = warnings.join('<br><br>');
            rMsg.style.display = 'block';
        } else {
            rMsg.style.display = 'none';
        }
        mBox.style.borderColor = boxColor;

        // Pasek postępu (proporcje)
        var barTotal = totalLength > 0 ? totalLength : 1; // zapobieganie dzieleniu przez zero
        document.getElementById('bar-main').style.width = ((mainLength / barTotal) * 100) + '%';
        document.getElementById('bar-edge').style.width = ((edgeLength / barTotal) * 100) + '%';
    }

    // Obsługa przycisków rozstawu
    var spacingOptions = {
        'btn-roz-10': 0.10,
        'btn-roz-15': 0.15,
        'btn-roz-20': 0.20,
        'btn-roz-25': 0.25
    };

    var btnKeys = Object.keys(spacingOptions);
    for (var i = 0; i < btnKeys.length; i++) {
        (function(btnId) {
            var btn = document.getElementById(btnId);
            if(btn) {
                btn.addEventListener('click', function(e) {
                    spacingMeters = spacingOptions[btnId];
                    // Reset klas active
                    for(var j = 0; j < btnKeys.length; j++) {
                        var el = document.getElementById(btnKeys[j]);
                        if(el) { el.classList.remove('active'); }
                    }
                    e.currentTarget.classList.add('active');
                    updateCalc();
                });
            }
        })(btnKeys[i]);
    }

    // Obsługa suwaków
    var areaInput = document.getElementById('area');
    var wallsInput = document.getElementById('walls');
    
    if(areaInput) areaInput.addEventListener('input', updateCalc);
    if(wallsInput) wallsInput.addEventListener('input', updateCalc);

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "name": "Fakty i mity o samodzielnym montażu ogrzewania podłogowego",
  "description": "Zestawienie najczęstszych błędnych przekonań inwestorów dotyczących testów szczelności, rozstawu rur i limitów hydraulicznych w systemach podłogowych.",
  "license": "https://projekt-ogrzewania.pl/",
  "creator": {
    "@type": "Person",
    "name": "Robert Kucharski"
  }
}
</script>

<div class="premium-myth-box" id="diy-myth-app">
    <div class="myth-header">
        <h3>Fakty i Mity Samodzielnego Montażu</h3>
        <p>Wpisując w sieć "jak samemu zrobić podłogówkę", łatwo trafić na porady, które po wylaniu betonu zamienią się w koszmar. <strong>Kliknij kartę, aby obalić najgroźniejsze mity.</strong></p>
    </div>

    <div class="myth-grid">
        <div class="flip-card" onclick="this.classList.toggle('is-flipped')">
            <div class="flip-card-inner">
                <div class="flip-card-front">
                    <div class="card-icon">💧</div>
                    <div class="card-title">MIT #1</div>
                    <p class="card-text">"Szybkie sprawdzenie z węża ogrodowego na 2 bary wystarczy, żeby upewnić się, że nie ma przecieków."</p>
                    <div class="flip-hint" style="color: var(--danger)"><span>Odwróć kartę</span> ⤵</div>
                </div>
                <div class="flip-card-back">
                    <div class="card-icon">🏗️</div>
                    <div class="card-title">FAKT</div>
                    <p class="card-text"><strong>To punkt bez powrotu!</strong> Próba musi wynosić min. 6 barów przez 24 godziny. Co więcej, rury bezwzględnie <strong>muszą być pod ciśnieniem podczas wylewania betonu</strong>. Inaczej wibracje i masa wylewki mogą rozszczelnić zluzowane złączki, a awarię zauważysz po roku.</p>
                </div>
            </div>
        </div>

        <div class="flip-card" onclick="this.classList.toggle('is-flipped')">
            <div class="flip-card-inner">
                <div class="flip-card-front">
                    <div class="card-icon">🦓</div>
                    <div class="card-title">MIT #2</div>
                    <p class="card-text">"Standard to 15 cm, ale jak rozłożę rury co 25 cm, to i tak będzie ciepło, a oszczędzę na materiale."</p>
                    <div class="flip-hint" style="color: var(--danger)"><span>Odwróć kartę</span> ⤵</div>
                </div>
                <div class="flip-card-back">
                    <div class="card-icon">📉</div>
                    <div class="card-title">FAKT</div>
                    <p class="card-text"><strong>Stworzysz "zebrę termiczna".</strong> Fizyka jest bezlitosna – poczujesz stopą naprzemienne pasy chłodu i ciepła (różnica 5-7°C). Co gorsza, aby dogrzać dom, będziesz musiał podnieść temperaturę na kotle, drastycznie obniżając sprawność układu (COP).</p>
                </div>
            </div>
        </div>

        <div class="flip-card" onclick="this.classList.toggle('is-flipped')">
            <div class="flip-card-inner">
                <div class="flip-card-front">
                    <div class="card-icon">🔄</div>
                    <div class="card-title">MIT #3</div>
                    <p class="card-text">"Zrobię jedną długą pętlę na cały salon (np. 140 metrów), to będzie mniej rur i szybciej pójdzie."</p>
                    <div class="flip-hint" style="color: var(--danger)"><span>Odwróć kartę</span> ⤵</div>
                </div>
                <div class="flip-card-back">
                    <div class="card-icon">⚠️</div>
                    <div class="card-title">FAKT</div>
                    <p class="card-text"><strong>Zabijesz pompę obiegową.</strong> Absolutny limit dla rury PEX 16mm to 90-100 metrów. Przy zbyt długiej pętli opór hydrauliczny przewyższy możliwości tłoczenia pompy. W efekcie woda nie popłynie w ogóle, a połowa salonu pozostanie zimna.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="myth-summary">
        <h4>Podsumowanie: Beton nie wybacza</h4>
        <p>Montaż ogrzewania podłogowego to praca inżynierska z zakresu mechaniki płynów, a nie tylko zabawa w układanie wężyków na styropianie. Brak odpowiednich dylatacji, złe opory hydrauliczne i zaoszczędzenie kilku złotych na projekcie niemal zawsze kończy się remontem i skuwaniem płytek przy użyciu młota udarowego. <strong>Projekt i obliczenia to fundament sukcesu.</strong></p>
    </div>

    <noscript>
        <div style="padding: 30px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h2 style="font-size: 18px; color: #0f172a;">Najczęstsze mity przy montażu ogrzewania podłogowego</h2>
            <ul style="font-size: 14px; color: #334155; line-height: 1.6;">
                <li><strong>MIT 1: Szybkie sprawdzenie szczelności na 2 bary wystarczy.</strong><br>
                FAKT: Próba musi wynosić min. 6 barów przez 24h. Rury muszą być pod ciśnieniem podczas wylewania betonu, aby uniknąć mikrorozszczelnień na złączkach.</li>
                <li><strong>MIT 2: Rozstaw rur co 25 cm pozwala na oszczędności bez utraty komfortu.</strong><br>
                FAKT: Powstaje "zebra termiczna" (odczuwalne zimne pasy). Wymusza to podniesienie temperatury wody, co drastycznie obniża sprawność pompy ciepła (COP).</li>
                <li><strong>MIT 3: Można robić pętle o długości 140 metrów.</strong><br>
                FAKT: Granica dla rury 16mm to 100m. Powyżej tej długości opór hydrauliczny blokuje przepływ wody, a pompa obiegowa ulega przeciążeniu.</li>
            </ul>
        </div>
    </noscript>
</div>

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



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --accent-light: #eff6ff;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    --text-muted: #475569;
}

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

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

.faq-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: var(--accent);
}

.faq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--accent-light);
    color: var(--accent);
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

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

.faq-header p {
    margin: 0;
    font-size: 15px;
    color: var(--text-muted);
    line-height: 1.6;
}

.faq-content {
    padding: 20px 40px 40px 40px;
}

/* INTERAKTYWNY AKORDEON Z MIKRO-INTERAKCJAMI */
.faq-item {
    border-bottom: 1px solid var(--border-color);
    transition: all 0.3s ease;
    border-left: 4px solid transparent;
    padding-left: 15px;
    margin-bottom: 10px;
    border-radius: 8px;
}

.faq-item:hover {
    background: #f8fafc;
    border-left-color: #cbd5e1;
}

.faq-item.active {
    background: #ffffff;
    border-left-color: var(--accent);
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    padding-bottom: 10px;
    border-bottom: 1px solid transparent;
}

.faq-question {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 20px 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 15px;
    font-family: inherit;
    transition: color 0.2s ease;
}

.faq-question:hover {
    color: var(--accent);
}

.faq-q-icon {
    font-size: 22px;
    flex-shrink: 0;
    filter: grayscale(0.2);
    transition: 0.3s;
}

.faq-item.active .faq-q-icon {
    filter: grayscale(0);
    transform: scale(1.1);
}

.faq-q-text {
    flex-grow: 1;
    padding-right: 20px;
}

.faq-toggle-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--bg-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    font-size: 18px;
    font-weight: 300;
    transition: transform 0.4s ease, background 0.3s ease, color 0.3s ease;
    border: 1px solid #e2e8f0;
}

.faq-item.active .faq-toggle-icon {
    transform: rotate(45deg);
    background: var(--accent);
    color: #ffffff;
    border-color: var(--accent);
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.2);
}

.faq-item.active .faq-question {
    color: var(--accent);
}

/* Animacja otwierania CSS Grid Trick */
.faq-answer-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

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

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

.faq-answer-text {
    padding: 0 0 15px 37px; /* Wcięcie wyrównujące tekst z nagłówkiem */
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--text-muted);
}

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

@media (max-width: 768px) {
    .faq-header { padding: 30px 20px 25px 20px; }
    .faq-content { padding: 10px 20px 30px 20px; }
    .faq-question { font-size: 15px; padding: 15px 0; }
    .faq-toggle-icon { width: 28px; height: 28px; font-size: 16px; }
    .faq-answer-text { padding-left: 0; }
}
</style>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "license": "https://projekt-ogrzewania.pl/",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Jakie ciśnienie powinna mieć próba szczelności podłogówki i jak długo trwać?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Złoty standard to minimum 6 barów (0,6 MPa) utrzymane przez 24 godziny. Co najważniejsze, rury muszą bezwzględnie pozostać pod ciśnieniem podczas wylewania jastrychu, aby uchronić je przed zgnieceniem przez masę betonu oraz wibratory, a także aby natychmiast wykryć ewentualne uszkodzenie łopatą.",
        "author": {
          "@type": "Person",
          "name": "Robert Kucharski"
        }
      }
    },
    {
      "@type": "Question",
      "name": "Gdzie koniecznie trzeba zastosować dylatacje w wylewce?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Dylatacje są bezwzględnie wymagane w progach drzwiowych, w narożnikach pomieszczeń w kształcie litery L oraz przy podziale dużych pól grzejnych (powyżej 40 m² lub gdy długość boku przekracza 8 metrów). Każdą rurę przechodzącą przez szczelinę dylatacyjną należy osłonić peszlem na odcinku min. 30 cm.",
        "author": {
          "@type": "Person",
          "name": "Robert Kucharski"
        }
      }
    },
    {
      "@type": "Question",
      "name": "Jaki jest optymal rozstaw rur ogrzewania podłogowego dla pompy ciepła?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Dla pomp ciepła zaleca się rozstaw 15 cm w głównych strefach mieszkalnych (salony, sypialnie) oraz zagęszczenie do 10 cm w łazienkach i tzw. strefach brzegowych (przy dużych oknach i drzwiach tarasowych). Zbyt rzadki rozstaw (20-30 cm) powoduje powstawanie odczuwalnej dla stóp 'zebry termicznej' i obniża sprawność (COP) układu.",
        "author": {
          "@type": "Person",
          "name": "Robert Kucharski"
        }
      }
    },
    {
      "@type": "Question",
      "name": "Jaka grubość styropianu na gruncie jest wymagana pod podłogówkę?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Aby spełnić normy Warunków Technicznych (WT 2021), wymagane jest minimum 12-15 cm styropianu EPS 100 lub twardszego. Zastosowanie zbyt cienkiej izolacji (np. 5 cm) skutkuje ucieczką nawet 25-30% wyprodukowanego ciepła bezpośrednio w ziemię, co generuje ogromne straty finansowe.",
        "author": {
          "@type": "Person",
          "name": "Robert Kucharski"
        }
      }
    },
    {
      "@type": "Question",
      "name": "Ile wynosi maksymalna długość pętli z rury PEX 16 mm?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Absolutne maksimum dla rury 16x2.0 mm to 100 metrów, jednak w profesjonalnych projektach zaleca się nie przekraczać 80-90 metrów. Zbyt długa pętla stawia opór hydrauliczny przekraczający możliwości standardowej pompy obiegowej, co skutkuje brakiem przepływu i niedogrzaniem pomieszczenia.",
        "author": {
          "@type": "Person",
          "name": "Robert Kucharski"
        }
      }
    }
  ]
}
</script>

<div class="premium-faq-box" id="faq-app-lock">
    <div class="faq-header">
        <div class="faq-badge">Baza Wiedzy</div>
        <h3>O to najczęściej pytają inwestorzy</h3>
        <p>Krótkie i konkretne odpowiedzi na najważniejsze pytania dotyczące prawidłowego wykonania instalacji ogrzewania podłogowego.</p>
    </div>

    <div class="faq-content">
        
        <div class="faq-item">
            <button class="faq-question">
                <span class="faq-q-icon">💦</span>
                <span class="faq-q-text">1. Jakie ciśnienie powinna mieć próba szczelności i jak długo trwać?</span>
                <div class="faq-toggle-icon">+</div>
            </button>
            <div class="faq-answer-wrapper">
                <div class="faq-answer-inner">
                    <p class="faq-answer-text">
                        Złoty standard to <strong>minimum 6 barów (0,6 MPa)</strong> utrzymane przez 24 godziny. Co najważniejsze, rury muszą bezwzględnie <strong>pozostać pod ciśnieniem podczas wylewania jastrychu</strong>, aby uchronić je przed zgnieceniem przez masę betonu oraz wibratory, a także aby natychmiast wykryć na manometrze ewentualne uszkodzenie mechaniczne (np. łopatą).
                    </p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span class="faq-q-icon">💥</span>
                <span class="faq-q-text">2. Gdzie koniecznie trzeba zastosować dylatacje w wylewce?</span>
                <div class="faq-toggle-icon">+</div>
            </button>
            <div class="faq-answer-wrapper">
                <div class="faq-answer-inner">
                    <p class="faq-answer-text">
                        Dylatacje są bezwzględnie wymagane w <strong>progach drzwiowych</strong>, w narożnikach pomieszczeń w kształcie litery L oraz przy podziale dużych pól grzejnych (powyżej 40 m² lub gdy długość jednego boku przekracza 8 metrów). Każdą rurę przechodzącą przez szczelinę dylatacyjną należy <strong>osłonić peszlem</strong> na odcinku min. 30 cm, aby pracujący beton jej nie przeciął.
                    </p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span class="faq-q-icon">🦓</span>
                <span class="faq-q-text">3. Jaki jest optymalny rozstaw rur podłogówki dla pompy ciepła?</span>
                <div class="faq-toggle-icon">+</div>
            </button>
            <div class="faq-answer-wrapper">
                <div class="faq-answer-inner">
                    <p class="faq-answer-text">
                        Dla pomp ciepła zaleca się <strong>rozstaw 15 cm</strong> w głównych strefach mieszkalnych (salony, sypialnie) oraz zagęszczenie do <strong>10 cm</strong> w łazienkach i tzw. strefach brzegowych (przy oknach i drzwiach tarasowych). Zbyt rzadki rozstaw (20-30 cm) powoduje powstawanie "zebry termicznej" i wymusza podniesienie temperatury zasilania, co drastycznie obniża sprawność układu.
                    </p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span class="faq-q-icon">🧱</span>
                <span class="faq-q-text">4. Jaka grubość styropianu na gruncie jest wymagana pod rury?</span>
                <div class="faq-toggle-icon">+</div>
            </button>
            <div class="faq-answer-wrapper">
                <div class="faq-answer-inner">
                    <p class="faq-answer-text">
                        Aby spełnić aktualne normy (WT 2021), wymagane jest <strong>minimum 12-15 cm styropianu EPS 100</strong> lub twardszego. Zastosowanie zbyt cienkiej izolacji (np. 5 cm) skutkuje ucieczką nawet 25-30% wyprodukowanego ciepła bezpośrednio w ziemię, co generuje ogromne straty finansowe przez cały okres życia budynku.
                    </p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span class="faq-q-icon">🔄</span>
                <span class="faq-q-text">5. Ile wynosi maksymalna bezpieczna długość pętli z rury 16 mm?</span>
                <div class="faq-toggle-icon">+</div>
            </button>
            <div class="faq-answer-wrapper">
                <div class="faq-answer-inner">
                    <p class="faq-answer-text">
                        Absolutne maksimum dla rury 16x2.0 mm to <strong>100 metrów</strong>, jednak w profesjonalnych projektach inżynierskich zaleca się nie przekraczać <strong>80-90 metrów</strong>. Zbyt długa pętla stwarza opór hydrauliczny przekraczający możliwości tłoczenia standardowej pompy obiegowej, co ostatecznie skutkuje brakiem przepływu.
                    </p>
                </div>
            </div>
        </div>

    </div>

    <noscript>
        <div style="padding: 30px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h2 style="font-size: 18px; color: #0f172a; margin-bottom: 20px;">Najczęściej zadawane pytania (Baza Wiedzy)</h2>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px; color: #475569;">Pytanie</th>
                        <th style="padding: 10px; color: #475569;">Odpowiedź eksperta</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px; font-weight: bold;">Jakie ciśnienie próby szczelności?</td>
                        <td style="padding: 10px;">Minimum 6 barów przez 24h. Zostawić ciśnienie na czas wylewki.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px; font-weight: bold;">Gdzie stosować dylatacje?</td>
                        <td style="padding: 10px;">Progi, narożniki, pola > 40 m2. Przejścia osłonić peszlem (30 cm).</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px; font-weight: bold;">Jaki rozstaw dla pompy ciepła?</td>
                        <td style="padding: 10px;">Środek: 15 cm. Przy oknach: 10 cm. Zapobiega to zebrom termicznym.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px; font-weight: bold;">Grubość izolacji EPS na gruncie?</td>
                        <td style="padding: 10px;">Min. 12-15 cm EPS 100 zgodnie z WT 2021. Zapobiega stratom ciepła.</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px; font-weight: bold;">Maksymalna długość rury w pętli?</td>
                        <td style="padding: 10px;">Zalecane 80-90m, bezwzględne max 100m. Zapobiega przeciążeniu pompy.</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('faq-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div></div>';
        }
        return; 
    }

    // LOGIKA AKORDEONU
    const faqItems = document.querySelectorAll('.faq-item');

    faqItems.forEach(item => {
        const questionBtn = item.querySelector('.faq-question');
        
        questionBtn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');
            
            // Zamyka pozostałe
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
            });

            // Otwiera/Zamyka kliknięty
            if (!isActive) {
                item.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --sum-bg-gradient: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
    --sum-text: #f8fafc;
    --sum-accent: #3b82f6;
    --sum-danger: #ef4444;
    --sum-warning: #f59e0b;
    --sum-success: #10b981;
}

.premium-summary-box {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--sum-bg-gradient);
    border-radius: 24px;
    box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.4);
    border: 1px solid #334155;
    overflow: hidden;
    color: var(--sum-text);
    position: relative;
}

/* Subtelny szum / poświata w tle */
.premium-summary-box::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(59,130,246,0.05) 0%, transparent 60%);
    z-index: 0;
    pointer-events: none;
}

.summary-content {
    position: relative;
    z-index: 1;
    padding: 50px;
}

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

.summary-icon {
    font-size: 56px;
    line-height: 1;
    margin-bottom: 20px;
    display: inline-block;
    filter: drop-shadow(0 4px 6px rgba(0,0,0,0.3));
}

.summary-header h2 {
    margin: 0 0 15px 0;
    font-size: 32px;
    font-weight: 900;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.summary-text {
    font-size: 16px;
    line-height: 1.8;
    color: #cbd5e1;
    text-align: center;
    max-width: 800px;
    margin: 0 auto 30px auto;
}

.summary-text strong {
    color: #ffffff;
    font-weight: 700;
}

/* WIZUALNA WAGA RYZYKA */
.risk-scale-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 40px 0;
}

.risk-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 30px;
    text-align: center;
    transition: transform 0.3s ease;
}

.risk-card:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.05);
}

.risk-card.bad-choice {
    border-bottom: 4px solid var(--sum-danger);
}

.risk-card.good-choice {
    border-bottom: 4px solid var(--sum-success);
}

.risk-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 800;
    margin-bottom: 15px;
    display: block;
}

.bad-choice .risk-label { color: #fca5a5; }
.good-choice .risk-label { color: #6ee7b7; }

.risk-value {
    font-size: 36px;
    font-weight: 900;
    color: #ffffff;
    margin-bottom: 10px;
    display: block;
}

.risk-desc {
    font-size: 14px;
    color: #94a3b8;
    line-height: 1.5;
    margin: 0;
}

/* CTA BUTTONS */
.summary-actions {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
    flex-wrap: wrap;
}

.sum-btn {
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.sum-btn-primary {
    background: var(--sum-accent);
    color: #ffffff !important;
    box-shadow: 0 10px 20px -5px rgba(59, 130, 246, 0.5);
    border: 1px solid #60a5fa;
}

.sum-btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(59, 130, 246, 0.6);
    background: #2563eb;
}

.sum-btn-secondary {
    background: transparent;
    color: #ffffff !important;
    border: 2px solid #475569;
}

.sum-btn-secondary:hover {
    border-color: #cbd5e1;
    background: rgba(255, 255, 255, 0.05);
}

@media (max-width: 768px) {
    .summary-content { padding: 40px 25px; }
    .risk-scale-grid { grid-template-columns: 1fr; gap: 15px; }
    .summary-actions { flex-direction: column; width: 100%; gap: 15px; }
    .sum-btn { justify-content: center; width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Podsumowanie: Beton nie wybacza - błędy przy montażu ogrzewania podłogowego",
    "abstract": "Samodzielny montaż ogrzewania podłogowego to zadanie inżynierskie. Błędy hydrauliczne i konstrukcyjne stają się nieodwracalne po wylaniu betonu. Projekt instalacji to kluczowa inwestycja zapewniająca bezpieczeństwo na dekady.",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Analiza ryzyka samodzielnego montażu podłogówki",
    "description": "Zestawienie porównawcze oszczędności na projekcie versus koszty naprawy błędów montażowych po wylaniu betonu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="premium-summary-box" id="summary-app-lock">
    <div class="summary-content">
        
        <div class="summary-header">
            <span class="summary-icon">🏁</span>
            <h2>Podsumowanie: Beton nie wybacza</h2>
        </div>

        <p class="summary-text">
            Decydując się na samodzielne wykonanie instalacji ogrzewania podłogowego, stajesz przed <strong>zadaniem inżynierskim</strong>, a nie tylko pracą fizyczną. Pięć wymienionych błędów – od braku ciśnienia podczas wylewki, przez ignorowanie dylatacji, po zbyt długie pętle – to problemy, które w przeciwieństwie do krzywo przyklejonej tapety, <strong>zostaną z Tobą na zawsze pod warstwą płytek i wylewki.</strong>
        </p>

        <div class="risk-scale-grid">
            <div class="risk-card bad-choice">
                <span class="risk-label">Fałszywa Oszczędność</span>
                <span class="risk-value">1 000 zł</span>
                <p class="risk-desc">Tyle rzekomo zaoszczędzisz rezygnując z projektu lub zagęszczenia rur. Może to jednak skutkować koniecznością <strong>skucia całej podłogi za 10 000 zł</strong>.</p>
            </div>
            <div class="risk-card good-choice">
                <span class="risk-label">Prawdziwa Inwestycja</span>
                <span class="risk-value">30 Lat</span>
                <p class="risk-desc">Projekt i precyzyjne wyliczenia to jedyna inwestycja w tej układance, która nie wymaga wylewki, a daje <strong>zwrot w postaci cichej i taniej pracy instalacji przez dekady.</strong></p>
            </div>
        </div>

        <p class="summary-text">
            Traktuj ten artykuł jako kompendium wiedzy i <strong>listę kontrolną, którą musisz odhaczyć przed przyjazdem betoniarki</strong>. A jeśli poczujesz, że wyliczenia hydrauliczne lub cieplne Cię przerastają – skonsultuj się z profesjonalistą.
        </p>

        <div class="summary-actions">
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="sum-btn sum-btn-primary">
                📐 SKONSULTUJ SIĘ Z PROJEKTANTEM
            </a>
            <a href="https://projekt-ogrzewania.pl/blog/" class="sum-btn sum-btn-secondary">
                📖 CZYTAJ NASZ BLOG
            </a>
        </div>

    </div>

    <noscript>
        <div style="padding: 30px; background: #0f172a; border-top: 1px solid #334155; font-family: sans-serif; color: #cbd5e1;">
            <h3 style="color: #ffffff; margin-top: 0;">Analiza ryzyka samodzielnego montażu podłogówki</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left; margin-bottom: 20px;">
                <thead>
                    <tr style="border-bottom: 2px solid #334155;">
                        <th style="padding: 10px 0; color: #94a3b8;">Podejście do inwestycji</th>
                        <th style="padding: 10px 0; color: #94a3b8;">Szacowany koszt początkowy</th>
                        <th style="padding: 10px 0; color: #94a3b8;">Konsekwencje</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #1e293b;">
                        <td style="padding: 10px 0; font-weight: bold;">Oszczędność na projekcie</td>
                        <td style="padding: 10px 0; color: #ef4444;">-1000 PLN (pozornie)</td>
                        <td style="padding: 10px 0;">Ryzyko skucia posadzki i wysokich rachunków.</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold;">Profesjonalny projekt</td>
                        <td style="padding: 10px 0; color: #10b981;">Koszt rynkowy</td>
                        <td style="padding: 10px 0;">Gwarancja cichej i taniej pracy przez min. 30 lat.</td>
                    </tr>
                </tbody>
            </table>
            <p style="font-size: 13px; line-height: 1.6;">
                Samodzielny montaż to zadanie inżynierskie. Błędy hydrauliczne i konstrukcyjne stają się nieodwracalne po wylaniu betonu. Projekt instalacji to jedyna pewna polisa bezpieczeństwa.
            </p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('summary-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div><p>Ten moduł jest własnością Projekt-Ogrzewania.pl</p></div>';
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/">Samodzielny montaż ogrzewania podłogowego – 5 błędów, których nie naprawisz po wylewce.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Rozstaw rur w wodnym ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 25 Jan 2026 08:32:32 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Projekty instalacyjne]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Projekty techniczne]]></category>
		<category><![CDATA[Rodzaje rur grzewczych]]></category>
		<category><![CDATA[Rozstaw rur ogrzewania]]></category>
		<category><![CDATA[Rozstaw rur podłogówki]]></category>
		<category><![CDATA[Rozstaw rur w podłogówce]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Rury do podłogówki]]></category>
		<category><![CDATA[delta t]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[moc ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[wodne ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3301</guid>

					<description><![CDATA[<p>Planując wodne ogrzewanie podłogowe, wielu inwestorów skupia się na źródle ciepła, zapominając o kluczowym parametrze, jakim jest rozstaw rur w wodnym ogrzewaniu podłogowym. To właśnie on w największym stopniu decyduje o mocy systemu, równomierności grzania oraz realnym komforcie użytkowania. W artykule krok po kroku wyjaśniamy, jak fizyka, straty ciepła budynku, rodzaj posadzki i geometria pętli wpływają na optymalny rozstaw rur. Pokazujemy konkretne liczby, przykłady techniczne, symulacje oraz pułapki projektowe, które mogą kosztować drogie błędy na etapie eksploatacji.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">Rozstaw rur w wodnym ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Planując instalację wodnego ogrzewania podłogowego, jednym z najważniejszych i najczęściej analizowanych parametrów jest&nbsp;<strong>rozstaw rur</strong>. Od tego, w jakiej odległości od siebie ułożymy pętle grzewcze, zależy nie tylko końcowy komfort cieplny, ale także efektywność i równomierność ogrzewania całej powierzchni. Wbrew pozorom, nie ma jednej uniwersalnej wartości, którą można zastosować w każdym budynku.&nbsp;<strong>Optymalny rozstaw rur</strong>&nbsp;jest wypadkową wielu zmiennych: od projektu architektonicznego przez parametry techniczne budynku po oczekiwania użytkowników. W tym artykule, przeznaczonym zarówno dla osób planujących inwestycję, jak i dla wykonawców, dogłębnie przeanalizujemy wszystkie czynniki wpływające na ten kluczowy aspekt projektowy, popierając teorię praktycznymi wyliczeniami i przykładami.</p>



<h2 class="wp-block-heading">Podstawy fizyki grzania: dlaczego rozstaw ma tak ogromne znaczenie?</h2>



<p class="wp-block-paragraph">Aby zrozumieć, jak&nbsp;<strong>odległość między rurami</strong>&nbsp;wpływa na pracę systemu, musimy wyobrazić sobie pole grzewcze jako źródło ciepła o określonej mocy. <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">Rury</a>, przez które płynie gorąca woda, oddają ciepło do otaczającego je jastrychu (płyty betonowej). Ciepło następnie przewodzone jest przez warstwy podłogi na jej powierzchnię. Im rury są bliżej siebie, tym&nbsp;<strong>strumień cieplny</strong>&nbsp;na powierzchni podłogi jest bardziej równomierny, a tzw.&nbsp;<strong>efekt „stopy słonia”</strong>&nbsp;(czyli wyczuwalnych, naprzemiennych pasów ciepła i chłodu) jest eliminowany.</p>



<p class="wp-block-paragraph"><strong>Gęstość ułożenia <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczych</a></strong>&nbsp;bezpośrednio przekłada się na&nbsp;<strong>moc grzewczą</strong>&nbsp;jednostki powierzchni, wyrażaną w Watach na metr kwadratowy [W/m²]. Dla standardowej rury 16&#215;2 mm i typowych parametrów pracy (temp. zasilania 40°C, powrotu 35°C, temp. pomieszczenia 20°C) przyjmuje się następujące, przybliżone wartości mocy:</p>



<ul class="wp-block-list">
<li>Przy&nbsp;<strong>rozstawie 10 cm</strong>: ok.&nbsp;<strong>100 W/m²</strong></li>



<li>Przy&nbsp;<strong>rozstawie 15 cm</strong>: ok.&nbsp;<strong>80 W/m²</strong></li>



<li>Przy&nbsp;<strong>rozstawie 20 cm</strong>: ok.&nbsp;<strong>65 W/m²</strong></li>



<li>Przy&nbsp;<strong>rozstawie 25 cm</strong>: ok.&nbsp;<strong>55 W/m²</strong></li>
</ul>



<p class="wp-block-paragraph">Jak widać, zmniejszając&nbsp;<strong>odstęp między przewodami</strong>&nbsp;z 20 cm do 10 cm, teoretycznie podwajamy moc grzewczą podłogi. To kluczowa informacja przy doborze systemu do pomieszczeń o dużych stratach ciepła.</p>



<h3 class="wp-block-heading">Główne czynniki decydujące o wyborze odpowiedniego rozstawu.</h3>



<p class="wp-block-paragraph">Proces ustalania&nbsp;<strong>odległości między rurami</strong>&nbsp;w instalacji podłogowej to zawsze praca inżynierska, polegająca na bilansowaniu poniższych elementów.</p>



<h4 class="wp-block-heading">1. Straty ciepła pomieszczenia i wymagana moc grzewcza.</h4>



<p class="wp-block-paragraph">To punkt wyjścia każdego projektu.&nbsp;<strong>Zapotrzebowanie na ciepło</strong>&nbsp;dla danego pomieszczenia oblicza się zgodnie z normą <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">PN-EN 12831</a>, biorąc pod uwagę:</p>



<ul class="wp-block-list">
<li>Powierzchnię i kubaturę.</li>



<li>Jakość izolacji przegród zewnętrznych (ścian, dachu, podłogi na gruncie).</li>



<li>Powierzchnię i charakter okien oraz drzwi.</li>



<li>Strefę klimatyczną.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład techniczny:</strong>&nbsp;Dla nowobudowanego, dobrze ocieplonego domu (współczynnik przenikania ciepła dla ścian U≈0,15 W/m²K) straty ciepła w salonie o powierzchni 30 m² mogą wynosić ok. 40-50 W/m². W takim przypadku&nbsp;<strong>rozstaw rur na poziomie 15-20 cm</strong>&nbsp;będzie w zupełności wystarczający. W starej, nieocieplonej kamienicy straty tego samego pomieszczenia mogą sięgać 120-150 W/m². Tu konieczne będzie&nbsp;<strong>bardzo gęste ułożenie przewodów</strong>, nawet co 10 cm, a często również uzupełnienie systemu grzejnikami.</p>



<h4 class="wp-block-heading">2. Rodzaj pokrycia podłogowego i jego opór cieplny.</h4>



<p class="wp-block-paragraph">Materiał wykończeniowy podłogi jest swoistym&nbsp;<strong>„filtrem”</strong>&nbsp;dla ciepła. Jego&nbsp;<strong>opór cieplny R [m²K/W]</strong>&nbsp;decyduje o tym, jak efektywnie ciepło z płyty grzewczej przedostanie się do pomieszczenia.</p>



<ul class="wp-block-list">
<li><strong>Płytki ceramiczne, kamień naturalny:</strong>&nbsp;Mają niski opór cieplny (R≈0.01 m²K/W). Doskonale przewodzą ciepło, pozwalając na stosowanie standardowych lub nawet nieco wyższych temperatur podłogi (do 29°C w strefie stałego przebywania). Dają dużą swobodę w doborze&nbsp;<strong>rozstawu rurek</strong>.</li>



<li><strong>Panele winylowe (LVT), wykładzina cienka:</strong>&nbsp;Opór nieco wyższy, ale wciąż akceptowalny.</li>



<li><strong>Panele laminowane, deska warstwowa, parkiet:</strong>&nbsp;Tutaj opór jest znaczący (R może przekraczać 0.15 m²K/W). Producenci materiałów drewnopochodnych jasno określają maksymalną temperaturę podłogi (często 27°C) i maksymalny&nbsp;<strong>opór całkowity</strong>&nbsp;wszystkich warstw. Aby uzyskać wymaganą moc przy niższej temperaturze powierzchni, często&nbsp;<strong>należy zagęścić rozstaw rur</strong>.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład wyliczenia:</strong>&nbsp;Dla pomieszczenia o zapotrzebowaniu 80 W/m² i podłodze z paneli (dopuszczalna temp. podłogi 27°C) może się okazać, że przy rozstawie 20 cm temperatura wody potrzebna do uzyskania tej mocy przekroczy dopuszczalną wartość, prowadząc do uszkodzenia posadzki lub dyskomfortu. Rozwiązaniem jest&nbsp;<strong>zmniejszenie odległości między pętlami</strong>&nbsp;do 15 cm lub 10 cm, co pozwoli uzyskać tę samą moc przy niższej temperaturze zasilania.</p>



<h4 class="wp-block-heading">3. Konfiguracja pomieszczenia i strefowanie.</h4>



<p class="wp-block-paragraph">Nie w każdym pomieszczeniu&nbsp;<strong>odstęp pomiędzy rurami</strong>&nbsp;jest stały na całej powierzchni. Kluczową zasadą jest&nbsp;<strong>strefowanie grzewcze</strong>.</p>



<ul class="wp-block-list">
<li><strong>Strefa brzegowa (obwodowa):</strong>&nbsp;Pas o szerokości około 1 metra wzdłuż ścian zewnętrznych, zwłaszcza tych z dużymi przeszkleniami. To tutaj straty ciepła są największe. W tej strefie standardowo&nbsp;<strong>zagęszcza się rozstaw rur</strong>&nbsp;(np. do 10-12 cm) w stosunku do strefy centralnej (gdzie można zastosować 20 cm). Zapobiega to wychłodzeniu strefy przyokiennej i poprawia komfort.</li>



<li><strong>Strefy stałego przebywania:</strong>&nbsp;W łazience szczególnie ważne jest równomierne ciepło przy umywalce czy w kabinie prysznicowej. Często układa się tam rury gęściej.</li>



<li><strong>Miejsca z ograniczonym przekazywaniem ciepła:</strong>&nbsp;Pod stałymi zabudowami meblowymi (szafy wnękowe, kredensy), pod wanną czy dużymi urządzeniami AGD&nbsp;<strong>nie układa się rur</strong>. Zmniejsza to bezużyteczne straty ciepła i nie naraża mebli na przesuszenie.</li>
</ul>



<h3 class="wp-block-heading">Projekt ogrzewania podłogowego – serce dobrze działającej instalacji.</h3>



<p class="wp-block-paragraph">W kontekście omawianego&nbsp;<strong>rozstawu rur</strong>, projekt jest dokumentem absolutnie kluczowym i nie wolno go pomijać.&nbsp;<strong>Amatorskie „szacowanie” odległości między pętlami</strong>&nbsp;prowadzi do szeregu problemów: nierównomiernego grzania, wiecznie zimnych pomieszczeń, przegrzewania innych, a wreszcie – do wysokich rachunków za energię.</p>



<p class="wp-block-paragraph">Profesjonalny projekt hydrauliczno-cieplny obejmuje:</p>



<ol start="1" class="wp-block-list">
<li><strong>Obliczenie strat ciepła</strong>&nbsp;dla każdego pomieszczenia osobno.</li>



<li><strong>Dobór rozstawu rur</strong>&nbsp;(często zmiennego w obrębie jednego pomieszczenia) oraz schematu ich ułożenia (meander lub ślimak) tak, aby uzyskać wymaganą moc grzewczą.</li>



<li><strong>Podział na pętle grzewcze</strong>&nbsp;o zbliżonej długości (dla rur 16&#215;2 mm optymalnie 80-100 m, max 120 m), co zapewnia zrównoważenie hydrauliczne systemu.</li>



<li><strong>Dobór rozdzielacza</strong>&nbsp;z odpowiednią liczbą odgałęzień oraz elementami regulacyjnymi.</li>



<li><strong>Określenie parametrów pracy</strong>&nbsp;(temperatury zasilania, projektowy przepływ).</li>
</ol>



<p class="wp-block-paragraph">Inwestycja w <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projekt</a> (koszt kilkuset do kilku tysięcy złotych w zależności od metrażu) zwraca się wielokrotnie w trakcie eksploatacji poprzez oszczędności na paliwie i uniknięcie kosztownych przeróbek.&nbsp;<strong>Rozstaw rur odczytany z takiego projektu jest wartością wiążącą i optymalną.</strong></p>



<h3 class="wp-block-heading">Przykłady techniczne i symulacje.</h3>



<p class="wp-block-paragraph">Poniższa tabela ilustruje przybliżony dobór&nbsp;<strong>rozstawu pętli grzewczych</strong>&nbsp;dla różnych typów pomieszczeń w budynku standardowym (średnio ocieplonym).</p>



<style>
.table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 30px 0;
}

.tech-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  min-width: 900px;
}

.tech-table th,
.tech-table td {
  padding: 14px 12px;
  border: 1px solid #e0e0e0;
  vertical-align: top;
}

.tech-table th {
  background: #1f2933;
  color: #ffffff;
  font-weight: 600;
  text-align: left;
}

.tech-table tr:nth-child(even) {
  background: #f9fafb;
}

.tech-table strong {
  color: #111827;
}

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

<div class="table-wrap">
<table class="tech-table">
<thead>
<tr>
<th>Pomieszczenie</th>
<th>Charakterystyka</th>
<th>Szacowane straty ciepła [W/m²]</th>
<th>Zalecany rozstaw rur (16×2 mm)</th>
<th>Uzasadnienie techniczne i uwagi</th>
</tr>
</thead>

<tbody>

<tr>
<td><strong>Łazienka</strong></td>
<td>
Małe pomieszczenie, wymagające szybkiego nagrzania i wysokiego komfortu cieplnego
(ogrzewanie podstawowe). Często posadzka z płytek.
</td>
<td>90 – 120+</td>
<td><strong>5 cm – 10 cm</strong></td>
<td>
Rozstaw 5 cm to rozwiązanie ekstremalne, stosowane przy wymaganiach bardzo wysokiej
mocy grzewczej (&gt;120 W/m²) przy niskiej temperaturze zasilania (np. 35°C).
Zapewnia idealnie równomierną temperaturę podłogi – kluczowe przy chodzeniu boso.
Wymaga krótkich pętli ze względu na duże opory hydrauliczne.
</td>
</tr>

<tr>
<td><strong>Salon (przy dużym przeszkleniu)</strong></td>
<td>
Pomieszczenie o wysokich stratach przez szyby,
wymagające kompensacji zimnego promieniowania.
</td>
<td>70 – 100</td>
<td>
<strong>Strefa brzegowa:</strong> 5–10 cm<br>
<strong>Strefa centralna:</strong> 10–15 cm
</td>
<td>
Zagęszczenie do 5 cm w pasie ok. 1–1,5 m od okna/ściany szklanej jest celową
inwestycją w komfort – eliminuje uczucie chłodu i przeciągów.
W strefie centralnej wystarczy 10–15 cm.
Układ mieszany (spiralny) jest tu obowiązkowy.
</td>
</tr>

<tr>
<td><strong>Sypialnia (ściany wewnętrzne)</strong></td>
<td>
Pomieszczenie o niskich stratach,
gdzie priorytetem jest niska temperatura powierzchni podłogi.
</td>
<td>35 – 50</td>
<td><strong>10 cm – 20 cm</strong></td>
<td>
Rozstaw 10 cm pozwala utrzymać bardzo niską temperaturę zasilania (30–33°C),
idealną dla pomp ciepła i kotłów kondensacyjnych.
Wersja 20 cm to standard dla domów pasywnych i energooszczędnych.
</td>
</tr>

<tr>
<td><strong>Hol / Przedpokój</strong></td>
<td>
Pomieszczenie z drzwiami wejściowymi,
narażone na krótkotrwałe, duże straty ciepła.
</td>
<td>60 – 85</td>
<td><strong>10 cm – 20 cm</strong></td>
<td>
Gęsty rozstaw (10 cm) w strefie progu drzwi wejściowych
(na głębokości 1,5–2 m) działa jak efektywna kurtyna cieplna,
minimalizując wychłodzenie przy wietrzeniu.
W głębi pomieszczenia można przejść na 20 cm.
</td>
</tr>

<tr>
<td><strong>Garaż ogrzewany</strong></td>
<td>
Przestrzeń o bardzo wysokich wymaganiach izolacyjnych podłogi
i dużych, okresowych stratach ciepła.
</td>
<td>40 – 60</td>
<td><strong>20 cm – 30 cm</strong></td>
<td>
Rozstaw 30 cm dopuszczalny wyłącznie w garażach bardzo dobrze ocieplonych,
traktowanych jako pomieszczenia użytkowe o stałej, umiarkowanej temperaturze (np. 15°C).
Przy wyższych temperaturach lub słabszej izolacji zalecane 15–20 cm.
Kluczowe jest użycie rur z barierą antydyfuzyjną (EVOH)
i izolacji o wysokiej odporności na ściskanie (min. 200 kPa).
</td>
</tr>

</tbody>
</table>
</div>



<p class="wp-block-paragraph"><strong>Wykres: Zależność mocy grzewczej od rozstawu rur i temperatury czynnika</strong><br>*(Interpretacja danych dla rury 16&#215;2 mm, delta T = różnica między średnią temp. wody a temp. w pomieszczeniu)*</p>



<style>
.table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 30px 0;
}

.tech-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  min-width: 700px;
}

.tech-table th,
.tech-table td {
  padding: 14px 12px;
  border: 1px solid #e0e0e0;
  text-align: center;
}

.tech-table th {
  background: #1f2933;
  color: #ffffff;
  font-weight: 600;
}

.tech-table tr:nth-child(even) {
  background: #f9fafb;
}

.tech-table td:first-child,
.tech-table th:first-child {
  text-align: left;
  font-weight: 600;
}

.tech-note {
  font-size: 14px;
  color: #4b5563;
  margin-top: 10px;
  font-style: italic;
}

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

<h3>Wykres: Zależność mocy grzewczej od rozstawu rur i temperatury czynnika</h3>

<div class="table-wrap">
<table class="tech-table">
<thead>
<tr>
<th>Rozstaw rur [cm]</th>
<th>Moc grzewcza przy ΔT = 10 K<br>[W/m²]</th>
<th>Moc grzewcza przy ΔT = 15 K<br>[W/m²]</th>
<th>Moc grzewcza przy ΔT = 20 K<br>[W/m²]</th>
</tr>
</thead>

<tbody>
<tr>
<td>5</td>
<td>~45</td>
<td>~68</td>
<td>~90</td>
</tr>

<tr>
<td>10</td>
<td>~55</td>
<td>~82</td>
<td>~110</td>
</tr>

<tr>
<td>15</td>
<td>~50</td>
<td>~75</td>
<td>~100</td>
</tr>

<tr>
<td>20</td>
<td>~40</td>
<td>~60</td>
<td>~80</td>
</tr>
</tbody>
</table>
</div>

<p class="tech-note">
*Interpretacja danych dla rury 16×2 mm. ΔT oznacza różnicę pomiędzy średnią temperaturą wody grzewczej
a temperaturą powietrza w pomieszczeniu. Wartości orientacyjne – rzeczywista moc zależy m.in.
od rodzaju posadzki, grubości wylewki i oporu cieplnego warstw.*
</p>



<p class="wp-block-paragraph"><em>Paradoks wykresu:</em>&nbsp;Zwróć uwagę, że przy bardzo małej różnicy temperatur (ΔT=10K),&nbsp;<strong>rozstaw 10 cm daje wyższą moc niż rozstaw 5 cm</strong>. Dzieje się tak, ponieważ przy ekstremalnie gęstym ułożeniu&nbsp;<strong>wzrasta opór hydrauliczny</strong>, a sama rura oddaje ciepło na bardzo krótkim odcinku, co może nieznacznie obniżać średnią temperaturę czynnika w pętli. To potwierdza, że&nbsp;<strong>rozstaw 5 cm ma sens tylko w systemach zaprojektowanych na niską ΔT, ale z wysokim przepływem</strong>, co wymaga precyzyjnej regulacji hydrauliczej.</p>



<p class="wp-block-paragraph"><strong>Obliczenie długości pętli dla łazienki z rozstawem 5 cm:</strong><br>Dla łazienki 4 m² (2m x 2m) z rozstawem 5 cm (0.05 m) i obwodem 8 m, przybliżona długość rury wyniesie:<br><code>L ≈ (A / s) * 2 + (2 * O) = (4 / 0.05) * 2 + (2*8) = 160 + 16 = 176 metrów.</code><br>Jest to długość&nbsp;<strong>niedopuszczalna dla jednej pętli</strong>&nbsp;(maks. 100-120m). Rozwiązaniem jest podział na&nbsp;<strong>dwie niezależne pętle</strong>&nbsp;po ok. 88 m każda, co pozwala utrzymać odpowiedni przepływ i uniknąć zbyt wysokich oporów. To pokazuje, że&nbsp;<strong>skrajnie gęsty rozstaw rur pociąga za sobą konieczność zmiany koncepcji rozdzielacza i zwiększenia liczby pętli</strong>.</p>



<p class="wp-block-paragraph"><strong>Podsumowanie tej sekcji:</strong>&nbsp;Przedstawione wartości&nbsp;<strong>5-10 cm</strong>&nbsp;są poprawne i stosowane w&nbsp;<strong>wysokoparametrowych instalacjach</strong>, gdzie priorytetem jest maksymalna moc przy niskiej temperaturze, absolutna równomierność grzania lub kompensacja ekstremalnych strat ciepła (przeszklenia). Każda taka decyzja&nbsp;<strong>musi być poprzedzona dokładnym projektem hydraulicznym</strong>, który zweryfikuje długości pętli, opory i dobierze odpowiednią pompa obiegowa. W przeciwnym razie, zamiast wysokiego komfortu, uzyskamy niewydolny, głośny i drogi w eksploatacji system.</p>



<h2 class="wp-block-heading">Geometria pętli zamiast podnoszenia temperatury.</h2>



<style>
.chart-container {
  max-width: 900px;
  margin: 40px auto;
}

.chart-title {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 8px;
}

.chart-subtitle {
  font-size: 14px;
  color: #4b5563;
  margin-bottom: 18px;
  font-style: italic;
}

.legend {
  display: flex;
  gap: 20px;
  margin-top: 12px;
  font-size: 14px;
}

.legend span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.legend i {
  width: 14px;
  height: 3px;
  display: inline-block;
}

.legend .dt10 i { background: #2563eb; }
.legend .dt15 i { background: #f97316; }
.legend .dt20 i { background: #16a34a; }

svg {
  width: 100%;
  height: auto;
}
</style>

<div class="chart-container">

<div class="chart-title">
Zależność mocy grzewczej od rozstawu rur (zakres projektowy)
</div>

<div class="chart-subtitle">
Zakres od 10 cm wzwyż – obszar, w którym wzrost rozstawu powoduje spadek mocy.
Dane orientacyjne dla rury 16×2 mm.
</div>

<svg viewBox="0 0 800 420" role="img" aria-label="Wykres mocy grzewczej ogrzewania podłogowego">
  
  <!-- osie -->
  <line x1="80" y1="40" x2="80" y2="350" stroke="#333"/>
  <line x1="80" y1="350" x2="760" y2="350" stroke="#333"/>

  <!-- opisy osi -->
  <text x="400" y="400" text-anchor="middle" font-size="14">Rozstaw rur [cm]</text>
  <text x="20" y="200" text-anchor="middle" font-size="14" transform="rotate(-90 20 200)">
    Moc grzewcza [W/m²]
  </text>

  <!-- skala Y -->
  <g font-size="12" fill="#444">
    <text x="55" y="355">40</text>
    <text x="55" y="305">60</text>
    <text x="55" y="255">80</text>
    <text x="50" y="205">100</text>
    <text x="50" y="155">110</text>
  </g>

  <!-- skala X -->
  <g font-size="12" fill="#444">
    <text x="220" y="370">10</text>
    <text x="420" y="370">15</text>
    <text x="620" y="370">20</text>
  </g>

  <!-- ΔT = 10 K -->
  <polyline fill="none" stroke="#2563eb" stroke-width="3"
    points="220,290 420,300 620,330"/>
  <circle cx="220" cy="290" r="5" fill="#2563eb"/>
  <circle cx="420" cy="300" r="5" fill="#2563eb"/>
  <circle cx="620" cy="330" r="5" fill="#2563eb"/>

  <!-- ΔT = 15 K -->
  <polyline fill="none" stroke="#f97316" stroke-width="3"
    points="220,240 420,260 620,300"/>
  <circle cx="220" cy="240" r="5" fill="#f97316"/>
  <circle cx="420" cy="260" r="5" fill="#f97316"/>
  <circle cx="620" cy="300" r="5" fill="#f97316"/>

  <!-- ΔT = 20 K -->
  <polyline fill="none" stroke="#16a34a" stroke-width="3"
    points="220,180 420,210 620,260"/>
  <circle cx="220" cy="180" r="5" fill="#16a34a"/>
  <circle cx="420" cy="210" r="5" fill="#16a34a"/>
  <circle cx="620" cy="260" r="5" fill="#16a34a"/>

</svg>

<div class="legend">
  <span class="dt10"><i></i> ΔT = 10 K</span>
  <span class="dt15"><i></i> ΔT = 15 K</span>
  <span class="dt20"><i></i> ΔT = 20 K</span>
</div>

</div>



<p class="wp-block-paragraph">Na osi poziomej (X) znajduje się <strong>rozstaw rur ogrzewania podłogowego [cm]</strong>, natomiast na osi pionowej (Y) <strong>uzyskiwana moc grzewcza [W/m²]</strong>. Każda z krzywych reprezentuje inną różnicę temperatur ΔT pomiędzy średnią temperaturą wody w pętli a temperaturą powietrza w pomieszczeniu.</p>



<p class="wp-block-paragraph"><strong>Od rozstawu 10 cm wzwyż wszystkie krzywe mają charakter malejący.</strong><br>Oznacza to, że <strong>zwiększanie rozstawu rur powyżej 10 cm prowadzi do systematycznego spadku możliwej do uzyskania mocy grzewczej</strong>, niezależnie od temperatury czynnika.</p>



<p class="wp-block-paragraph">Jednocześnie wyraźnie widać drugi mechanizm sterujący: <strong>krzywe dla wyższej temperatury wody przebiegają znacznie wyżej</strong>. Podniesienie ΔT (czyli temperatury zasilania) pozwala zwiększyć moc przy tym samym rozstawie rur, jednak odbywa się to kosztem sprawności źródła ciepła i większych obciążeń termicznych posadzki.</p>



<p class="wp-block-paragraph">W praktyce projektowej istnieją więc dwie drogi zwiększania mocy ogrzewania podłogowego:</p>



<ul class="wp-block-list">
<li><strong>zagęszczenie rozstawu rur (≤ 10 cm)</strong>,</li>



<li><strong>podniesienie temperatury zasilania</strong>.</li>
</ul>



<p class="wp-block-paragraph">Z punktu widzenia trwałości instalacji, komfortu cieplnego i efektywności energetycznej — szczególnie w systemach z pompą ciepła — <strong>pierwsza strategia jest rozwiązaniem zdecydowanie lepszym i długoterminowo bezpieczniejszym</strong>. Gęstszy rozstaw pozwala osiągnąć wymaganą moc przy niskich temperaturach zasilania, poprawia równomierność temperatury podłogi i ogranicza naprężenia termiczne w warstwach posadzki.</p>



<p class="wp-block-paragraph"><strong>Dlatego poprawnie zaprojektowane ogrzewanie podłogowe zaczyna się od geometrii pętli, a nie od „podkręcania” temperatury na źródle ciepła.</strong></p>



<h3 class="wp-block-heading">Układanie rur: od projektu do realizacji.</h3>



<p class="wp-block-paragraph">Sam proces montażu, przy <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">prawidłowo przygotowanym projekcie</a>, staje się niemal rzemieślniczą realizacją założeń.&nbsp;<strong>Odległość między rurami</strong>&nbsp;jest precyzyjnie wymierzana i utrzymywana dzięki szynom montażowym lub specjalnym matom z wypustkami. Szczególną uwagę zwraca się na:</p>



<ul class="wp-block-list">
<li><strong>Prowadzenie rur w zakrętach:</strong>&nbsp;Promień gięcia nie może być zbyt mały (zazwyczaj min. 5x średnica zewnętrzna rury).</li>



<li><strong>Zagęszczenie w strefach brzegowych:</strong>&nbsp;Pomiary muszą być tu szczególnie dokładne.</li>



<li><strong>Długość pętli:</strong>&nbsp;Każda pętla przed zatłoczeniem betonem powinna być zmierzona i porównana z projektem.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład obliczeniowy długości pętli:</strong>&nbsp;Dla pomieszczenia 5m x 4m (20 m²) przy&nbsp;<strong>rozstawie rur 15 cm</strong>&nbsp;(0.15 m) i obwodzie pomieszczenia 18 m, przybliżoną długość rury w pętli można oszacować ze wzoru:&nbsp;<code>L = (A / s) * 2 + (2 * O)</code>, gdzie A to powierzchnia, s to rozstaw, O to obwód.&nbsp;<code>L = (20 / 0.15) * 2 + (2*18) ≈ 267 + 36 = 303 m</code>. Jest to wartość zbyt wysoka dla jednej pętli! To pokazuje, że dla takiego rozstawu i powierzchni konieczny jest podział na dwie, a nawet trzy niezależne pętle o długości ok. 100 m każda. Praktycznie stosuje się dokładniejsze metody, ale przykład unaocznia potrzebę precyzyjnego projektowania.</p>



<h2 class="wp-block-heading">FAQ – Najczęstsze pytania.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1769329073507"><strong class="schema-faq-question"><strong>Jaki rozstaw rur w ogrzewaniu podłogowym jest najlepszy?</strong></strong> <p class="schema-faq-answer">Nie ma jednej uniwersalnej wartości. Optymalny rozstaw zależy od strat ciepła pomieszczenia, rodzaju posadzki oraz temperatury zasilania. Najczęściej stosuje się zakres od 10 do 20 cm.</p> </div> <div class="schema-faq-section" id="faq-question-1769329085064"><strong class="schema-faq-question"><strong>Czy mniejszy rozstaw rur zawsze oznacza lepsze ogrzewanie?</strong></strong> <p class="schema-faq-answer">Mniejszy rozstaw zwiększa moc i równomierność grzania, ale powoduje też większe opory hydrauliczne i dłuższe pętle. Dlatego gęsty rozstaw wymaga dokładnego projektu.</p> </div> <div class="schema-faq-section" id="faq-question-1769329094344"><strong class="schema-faq-question"><strong>Dlaczego rozstaw 10 cm jest często punktem granicznym?</strong></strong> <p class="schema-faq-answer">Od rozstawu 10 cm wzwyż wzrost odległości między rurami powoduje wyraźny spadek mocy grzewczej. Poniżej tej wartości system wchodzi w zakres instalacji wysokoparametrowych.</p> </div> <div class="schema-faq-section" id="faq-question-1769329119610"><strong class="schema-faq-question"><strong>Jak posadzka wpływa na dobór rozstawu rur?</strong></strong> <p class="schema-faq-answer">Im większy opór cieplny posadzki (np. panele, drewno), tym gęstszy rozstaw rur jest wymagany, aby uzyskać tę samą moc przy bezpiecznej temperaturze podłogi.</p> </div> <div class="schema-faq-section" id="faq-question-1769329126408"><strong class="schema-faq-question"><strong>Czy można samodzielnie dobrać rozstaw rur bez projektu?</strong></strong> <p class="schema-faq-answer">Teoretycznie tak, ale w praktyce prowadzi to często do błędów: nierównego grzania, zbyt długich pętli lub wysokich kosztów eksploatacji. Profesjonalny <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/">projekt</a> jest kluczowy.</p> </div> </div>



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



<p class="wp-block-paragraph">Dobranie właściwego&nbsp;<strong>rozstawu rur w wodnym ogrzewaniu podłogowym</strong>&nbsp;nie jest celem samym w sobie, ale jednym z najważniejszych etapów procesu projektowania sprawnego i komfortowego systemu. Jak pokazano, zależy on od&nbsp;<strong>bilansu cieplnego budynku</strong>,&nbsp;<strong>właściwości posadzki</strong>&nbsp;oraz&nbsp;<strong>konfiguracji przestrzeni</strong>.&nbsp;<strong>Zagęszczenie pętli grzewczych</strong>&nbsp;jest najskuteczniejszym narzędziem do zwiększenia mocy układu bez niebezpiecznego podnoszenia temperatury powierzchni podłogi.</p>



<p class="wp-block-paragraph">Pamiętajmy, że nawet najlepiej dobrany&nbsp;<strong>odstęp między przewodami</strong>&nbsp;nie zdziała cudów w źle zaizolowanym domu. Dopiero połączenie dobrej izolacji budynku, profesjonalnego projektu uwzględniającego&nbsp;<strong>optymalny rozstaw rur</strong>, starannego wykonawstwa i odpowiedniego źródła ciepła (jak pompa ciepła, która uwielbia niskie temperatury zasilania) daje gwarancję sukcesu – czyli ciepłego, zdrowego i taniego w eksploatacji domu. Nie warto zatem oszczędzać na wiedzy i profesjonalizmie na etapie planowania, gdyż decyzje podjęte na początku inwestycji będą nam towarzyszyć przez długie dekady użytkowania.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="InOHZNCO2a"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=B0gffQFdTM#?secret=InOHZNCO2a" data-secret="InOHZNCO2a" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">Rozstaw rur w wodnym ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Rotametr (wskaźnik przepływu) w rozdzielaczu ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/</link>
					<comments>https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 29 Nov 2025 17:11:32 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Konserwacja systemów grzewczych]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Regulacja instalacji]]></category>
		<category><![CDATA[Rozdzielacz do podłogówki]]></category>
		<category><![CDATA[Rozdzielacze do podłogówki]]></category>
		<category><![CDATA[Rozdzielacze grzewcze]]></category>
		<category><![CDATA[Serwis i konserwacja]]></category>
		<category><![CDATA[hydraulika]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[przepływomierz]]></category>
		<category><![CDATA[regulacja przepływu]]></category>
		<category><![CDATA[rotametr]]></category>
		<category><![CDATA[rozdzielacz]]></category>
		<category><![CDATA[wskaźnik przepływu]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2873</guid>

					<description><![CDATA[<p>Rotametr (wskaźnik przepływu) w rozdzielaczu ogrzewania podłogowego to jeden z tych elementów instalacji, które wyglądają niepozornie, ale mają ogromny wpływ na komfort cieplny całego domu. W artykule wyjaśniam, jak działa rotametr, dlaczego jest kluczowy dla równoważenia hydraulicznego oraz jak prawidłowo ustawić przepływy na każdej pętli podłogówki. Dzięki temu dowiesz się, jak uniknąć przegrzewania pomieszczeń, zimnych stref na podłodze i niepotrzebnych strat energii.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">Rotametr (wskaźnik przepływu) w rozdzielaczu ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --primary: #0f172a;
    --accent: #0284c7; /* Hydrauliczny, chłodny niebieski */
    --accent-hover: #0369a1;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f0f9ff;
    --border-color: #e2e8f0;
    --glass-bg: rgba(255, 255, 255, 0.9);
}

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

.premium-hero-box::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(2, 132, 199, 0.06) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    transform: translate(30%, -30%);
    z-index: 0;
}

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

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

/* Wewnętrzne nagłówki SEO */
.hero-content h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--primary);
    line-height: 1.2;
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

.hero-content h3 {
    font-size: 20px;
    font-weight: 700;
    color: #334155;
    margin-top: 35px;
    margin-bottom: 15px;
}

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

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

.hero-text a {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 600;
    transition: color 0.2s ease;
}

.hero-text a:hover {
    color: var(--accent-hover);
}

/* Interaktywne Zakładki (Tabs) eliminujące "ścianę tekstu" */
.hero-tabs-container {
    margin: 25px 0 35px 0;
    background: #f8fafc;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 10px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.hero-tab-buttons {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
    background: #ffffff;
    padding: 8px;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}

.hero-tab-btn {
    flex: 1;
    padding: 14px 20px;
    border: none;
    background: transparent;
    border-radius: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.hero-tab-btn:hover {
    background: #f1f5f9;
    color: var(--primary);
}

.hero-tab-btn.active {
    background: var(--accent);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.25);
}

.hero-tab-panels {
    padding: 10px 20px 20px 20px;
    min-height: 140px; /* Zapobiega skakaniu wysokości przy krótkim tekście */
}

.hero-tab-panel {
    display: none;
    animation: fadeSlideUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.hero-tab-panel.active {
    display: block;
}

.hero-tab-panel p.hero-text {
    margin-bottom: 0;
}

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

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

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

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

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

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

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

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

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

/* Responsywność */
@media (max-width: 900px) {
    .hero-content { padding: 35px 25px; }
    .hero-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 600px) {
    .hero-tab-buttons { flex-direction: column; }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-card { display: flex; align-items: center; text-align: left; gap: 15px; padding: 15px; }
    .hero-card-icon { margin-bottom: 0; font-size: 24px; }
    .hero-content h2 { font-size: 24px; }
    .hero-tab-panels { padding: 10px 5px 10px 5px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Rotametr w ogrzewaniu podłogowym – jak działa wskaźnik przepływu i jak go ustawić?",
    "description": "Zrozum, jak działa rotametr w rozdzielaczu podłogówki. Poradnik regulacji wskaźników przepływu dla zapewnienia równowagi hydraulicznej i idealnego komfortu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset",
    "name": "Zakresy przepływów hydraulicznych dla rotametrów w instalacjach płaszczyznowych",
    "description": "Zestawienie optymalnych oraz krytycznych wartości natężenia przepływu (w litrach na minutę) dla pętli ogrzewania podłogowego, służące do diagnozy i regulacji na rozdzielaczu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rotametr",
      "jak ustawić rotametr w podłogówce",
      "regulacja rotametrów ogrzewania podłogowego",
      "brak przepływu na rotametrze",
      "wskaźnik przepływu podłogówka"
    ],
    "measurementTechnique": "Bezpośredni odczyt wizualny przemieszczenia pływaka względem skali pomiarowej na stożkowym korpusie rotametru.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Wskaźnik natężenia przepływu cieczy"
    }
  }
]
</script>

<div class="premium-hero-box" id="hero-app-container">
    <div class="hero-content">
        
        <div class="hero-badge">
            <span>⚙️</span> Kompendium Hydrauliki
        </div>
        
        <h2>Rotametr: Serce Równowagi Twojej Podłogówki</h2>
        
        <div class="hero-tabs-container">
            <div class="hero-tab-buttons">
                <button class="hero-tab-btn active" data-tab="tab-definicja">
                    <span>📌</span> Czym jest rotametr?
                </button>
                <button class="hero-tab-btn" data-tab="tab-praktyka">
                    <span>💡</span> Dlaczego to ważne?
                </button>
            </div>
            
            <div class="hero-tab-panels">
                <div class="hero-tab-panel active" id="tab-definicja">
                    <p class="hero-text"><strong>Rotametr</strong>, często nazywany w profesjonalnej nomenklaturze wskaźnikiem przepływu, to niepozorne, przezroczyste urządzenie montowane na <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielaczu ogrzewania podłogowego</a>. Choć wydaje się tylko małą plastikową rurką ze skalą, bez niego <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">prawidłowe działanie nowoczesnej instalacji HVAC</a> byłoby procesem chaotycznym i opartym wyłącznie na zgadywaniu.</p>
                </div>
                
                <div class="hero-tab-panel" id="tab-praktyka">
                    <p class="hero-text">Zastanawiasz się, <strong>jak ustawić rotametr w podłogówce</strong>, aby uniknąć niedogrzanych stref lub zbyt wysokich rachunków za prąd z pompy obiegowej? Prawidłowa <strong>regulacja rotametrów ogrzewania podłogowego</strong> to ostateczny szlif, który łączy założenia <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">profesjonalnego projektu OZC</a> z rzeczywistym zładem wody w Twoim domu. W tym wpisie pokażę Ci zasady działania tego elementu oraz sposób na rozwiązanie problemów, gdy zauważysz <strong>brak przepływu na rotametrze</strong>.</p>
                </div>
            </div>
        </div>

        <div class="hero-modules-title">W tym poradniku omówimy:</div>
        
        <div class="hero-grid">
            <div class="hero-card">
                <span class="hero-card-icon">🔍</span>
                <span class="hero-card-title">Fizyka działania rotametru w pigułce</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">⚖️</span>
                <span class="hero-card-title">Krok po kroku: Regulacja na rozdzielaczu</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">🛠️</span>
                <span class="hero-card-title">Diagnoza: Dlaczego pływak wibruje?</span>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- LOGIKA ZAKŁADEK (TABS) ---
    const tabBtns = document.querySelectorAll('.hero-tab-btn');
    const tabPanels = document.querySelectorAll('.hero-tab-panel');

    tabBtns.forEach(btn => {
        btn.addEventListener('click', () => {
            // Usuń aktywną klasę z przycisków i paneli
            tabBtns.forEach(b => b.classList.remove('active'));
            tabPanels.forEach(p => p.classList.remove('active'));

            // Dodaj aktywną klasę do klikniętego przycisku i odpowiedniego panelu
            btn.classList.add('active');
            const targetId = btn.getAttribute('data-tab');
            document.getElementById(targetId).classList.add('active');
        });
    });

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



<style>
:root {
    --primary: #0f172a;
    --accent: #0ea5e9; /* Kolor niebieski z suwaka i wartości na obrazku */
    --accent-hover: #0284c7;
    --text-main: #334155;
    --text-muted: #64748b;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    
    /* Status Colors */
    --status-ok-bg: #dcfce7;
    --status-ok-text: #16a34a;
    --status-warn-bg: #ffedd5;
    --status-warn-text: #ea580c;
    --status-err-bg: #fee2e2;
    --status-err-text: #dc2626;
}

.article-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--text-main);
    line-height: 1.8;
}

.article-section h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

.article-section h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary);
    margin-top: 40px;
    margin-bottom: 15px;
}

.article-section p {
    font-size: 17px;
    margin-bottom: 20px;
}

.article-section a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}

.article-section a:hover {
    border-color: var(--accent);
}

.article-section ul {
    list-style-type: none;
    padding: 0;
    margin-bottom: 30px;
}

.article-section ul li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 12px;
    font-size: 16px;
}

.article-section ul li::before {
    content: "✔️";
    position: absolute;
    left: 0;
    top: 2px;
    font-size: 14px;
    color: var(--accent);
}

/* Interaktywny Widget / Aplikacja */
.app-container {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 24px;
    padding: 40px;
    margin: 40px 0;
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    align-items: center;
}

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

.app-title {
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 8px;
}

.app-subtitle {
    font-size: 15px;
    color: var(--text-muted);
}

.app-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 500px;
}

/* Wizualizacja Rotametru */
.rotameter-mockup {
    position: relative;
    width: 100px;
    height: 300px;
    background: #f8fafc;
    border: 2px solid #cbd5e1;
    border-radius: 16px;
    box-shadow: inset 0 4px 10px rgba(0,0,0,0.03), 0 10px 25px -5px rgba(0,0,0,0.05);
    margin-bottom: 35px;
    display: flex;
    justify-content: center;
}

.rotameter-scale {
    position: absolute;
    left: 10px;
    top: 25px;
    bottom: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
}

.rotameter-glass {
    position: absolute;
    bottom: 25px;
    top: 25px;
    width: 32px;
    background: rgba(14, 165, 233, 0.08); /* Lekko niebieska woda */
    border-radius: 4px;
    border-bottom: 3px solid var(--accent);
}

.rotameter-float-wrapper {
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
    transition: bottom 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.rotameter-float {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 26px;
    height: 22px;
    background: linear-gradient(to bottom, #ef4444 0%, #dc2626 100%); /* Czerwony grzybek */
    border-radius: 14px 14px 0 0;
    box-shadow: 0 4px 6px -1px rgba(220, 38, 38, 0.4);
}

/* Sekcja kontrolek */
.controls-section {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.status-badge {
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 30px;
    transition: all 0.3s ease;
    align-self: flex-start;
}

.status-ok { background: var(--status-ok-bg); color: var(--status-ok-text); }
.status-warn { background: var(--status-warn-bg); color: var(--status-warn-text); }
.status-err { background: var(--status-err-bg); color: var(--status-err-text); }

.slider-wrapper {
    width: 100%;
    margin-bottom: 25px;
}

.slider-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    font-weight: 700;
}

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

.slider-value {
    font-size: 16px;
    color: var(--accent);
}

/* Custom Input Range */
input[type=range].custom-slider {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}
input[type=range].custom-slider:focus { outline: none; }
input[type=range].custom-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    background: #e2e8f0;
    border-radius: 4px;
}
input[type=range].custom-slider::-webkit-slider-thumb {
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background: var(--accent);
    border: 3px solid #ffffff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -8px;
    transition: transform 0.1s;
}
input[type=range].custom-slider::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

.dynamic-description {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.6;
    text-align: left;
    width: 100%;
    min-height: 60px;
}

@media (max-width: 600px) {
    .app-container { padding: 25px 15px; }
    .status-badge { align-self: center; text-align: center; }
    .dynamic-description { text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#article2",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Czym dokładnie jest rotametr i jak działa? Zasada fizyczna w pigułce.",
    "description": "Szczegółowa analiza budowy i zasady działania rotametru w instalacjach płaszczyznowych. Dowiedz się jak siły wyporu i oporu cieczy wpływają na regulację przepływu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset2",
    "name": "Budowa i dynamika fizyczna rotametru grzewczego",
    "description": "Dane opisujące elementy składowe wskaźnika przepływu oraz zjawiska fizyczne odpowiedzialne za jego prawidłowe działanie w układzie hydraulicznym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak działa rotametr",
      "budowa rotametru",
      "wskaźnik przepływu zasada fizyczna",
      "rotametry na rozdzielaczu",
      "przepływomierz podłogówka"
    ],
    "measurementTechnique": "Wykorzystanie równowagi sił: wyporu, ciężkości i oporu cieczy w stożkowej rurce pomiarowej.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Elementy konstrukcyjne rotametru hydraulicznego"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp2",
    "name": "Aplikacja: Symulacja Działania Wskaźnika Przepływu (Rotametru)",
    "description": "Aplikacja edukacyjna pozwalająca wizualizować zmianę położenia pływaka rotametru w zależności od natężenia przepływu cieczy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="article-section" id="rotameter-module-container">
    <h2>Czym dokładnie jest rotametr i jak działa? Zasada fizyczna w pigułce.</h2>
    
    <p>W kontekście inżynierii instalacji grzewczych, <strong>rotametr</strong> zalicza się do grupy precyzyjnych przyrządów zwanych przepływomierzami o zmiennym przekroju. Jego zadanie z pozoru jest proste: ma wizualnie, w sposób ciągły, wskazywać ilość czynnika grzewczego (najczęściej jest to woda lub <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/">odpowiednio przygotowana woda demineralizowana</a>) przepływającą w danej chwili przez konkretny obwód grzewczy, czyli pętlę rury ukrytą w wylewce betonowej.</p>
    
    <p>Zasada działania opiera się na genialnych w swej prostocie prawach fizyki, a konkretnie na dynamicznej równowadze trzech sił działających na pływak znajdujący się w strumieniu płynącej cieczy:</p>
    <ul>
        <li><strong>Siła wyporu</strong> – zgodnie z prawem Archimedesa, zawsze skierowana ku górze, wypychająca pływak.</li>
        <li><strong>Siła ciężkości (grawitacji)</strong> – stała siła ciągnąca masę pływaka w dół.</li>
        <li><strong>Siła oporu hydrodynamicznego cieczy</strong> – to zmienna zależna od prędkości. Im szybszy przepływ generuje <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa</a>, tym większa siła działająca na pływak od dołu.</li>
    </ul>

    <p>Pływak porusza się wewnątrz stożkowej (rozszerzającej się ku górze), przezroczystej rurki. Gdy przepływ wynosi równe zero, pływak grawitacyjnie opada na sam dół. Kiedy system startuje i woda zaczyna płynąć, siła oporu unosi pływak do momentu, aż siły się zrównoważą. Im większe <strong>natężenie przepływu</strong>, tym wyżej pływak musi się unieść, by zwiększyć przekrój przepływu wokół siebie i zrównoważyć siły. Odczyt to po prostu zlokalizowanie, na jakiej wartości na nadrukowanej skali znajduje się jego krawędź.</p>

    <div class="app-container">
        <div class="app-header">
            <div class="app-title">Symulator Wskaźnika Przepływu (Rotametru)</div>
            <div class="app-subtitle">Ustaw natężenie przepływu dla pętli grzewczej</div>
        </div>

        <div class="app-content">
            <div class="rotameter-mockup">
                <div class="rotameter-scale">
                    <span>3.0</span>
                    <span>2.0</span>
                    <span>1.0</span>
                    <span>0.0</span>
                </div>
                <div class="rotameter-glass">
                    <div class="rotameter-float-wrapper" id="simFloatWrapper">
                        <div class="rotameter-float"></div>
                    </div>
                </div>
            </div>

            <div class="controls-section">
                <div id="simBadge" class="status-badge status-ok">Zakres optymalny</div>
                
                <div class="slider-wrapper">
                    <div class="slider-info">
                        <span class="slider-label">Przepływ:</span>
                        <span class="slider-value" id="simValue">1.6 l/min</span>
                    </div>
                    <input type="range" class="custom-slider" id="simSlider" min="0" max="3" step="0.1" value="1.6">
                </div>

                <div class="dynamic-description" id="simDesc">
                    Najczęstszy, optymalny zakres przepływu wg projektów. Zapewnia równomierne nagrzewanie przy optymalnym zużyciu energii przez pompę.
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- Logika Aplikacji ---
    const slider = document.getElementById('simSlider');
    const floatWrap = document.getElementById('simFloatWrapper');
    const valText = document.getElementById('simValue');
    const badge = document.getElementById('simBadge');
    const desc = document.getElementById('simDesc');

    function updateSimulator() {
        const val = parseFloat(slider.value);
        valText.innerText = val.toFixed(1) + ' l/min';
        
        // Zabezpieczenie przed wyjściem pływaka poza rurkę.
        // max to 100% wysokości kontenera szklanego
        const percent = (val / 3.0) * 100;
        floatWrap.style.bottom = percent + '%';

        // Warunki statusów i opisów na podstawie obrazka i wiedzy
        badge.className = 'status-badge';
        if (val === 0) {
            badge.classList.add('status-err');
            badge.innerText = 'Brak przepływu';
            desc.innerHTML = 'Obwód jest zamknięty. Brak wymiany ciepła. Jeśli zawór jest otwarty, wskazuje to na <strong>poważne zapowietrzenie</strong> lub zablokowanie pętli.';
        } else if (val > 0 && val < 0.6) {
            badge.classList.add('status-warn');
            badge.innerText = 'Niski przepływ';
            desc.innerHTML = 'Przepływ może być niewystarczający do usunięcia pęcherzyków powietrza z instalacji, co grozi niedogrzaniem strefy.';
        } else if (val >= 0.6 && val <= 2.2) {
            badge.classList.add('status-ok');
            badge.innerText = 'Zakres optymalny';
            desc.innerHTML = 'Najczęstszy, optymalny zakres przepływu wg projektów. Zapewnia równomierne nagrzewanie przy optymalnym zużyciu energii przez pompę.';
        } else {
            badge.classList.add('status-warn');
            badge.innerText = 'Zbyt wysoki przepływ';
            desc.innerHTML = 'Zbyt szybki obieg wody generuje <strong>szumy w instalacji</strong> i niepotrzebnie przeciąża pompę obiegową bez realnych korzyści cieplnych.';
        }
    }

    slider.addEventListener('input', updateSimulator);
    // Inicjalizacja startowa żeby zgadzało się z ustawieniem slidera
    updateSimulator();


    // --- Zabezpieczenie domenowe (Domain Lock) ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(domain)) {
        const container = document.getElementById('rotameter-module-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fee2e2; border: 2px solid #ef4444; border-radius: 16px; margin: 40px 0; font-family: sans-serif;">
                    <div style="font-size: 50px; margin-bottom: 15px;">⚠️</div>
                    <div style="font-size: 20px; font-weight: 800; color: #b91c1c; margin-bottom: 10px;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 16px; color: #7f1d1d; margin-bottom: 25px;">Treść i interaktywne narzędzia na tej stronie zostały skopiowane nielegalnie z serwisu <strong>Projekt-Ogrzewania.pl</strong>.</div>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 24px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">Wróć do źródła</a>
                </div>
            `;
        }
    }
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #0284c7;
    --accent-hover: #0369a1;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    --glass-bg: rgba(255, 255, 255, 0.95);
    --brass: #d4af37;
    --plastic: #1e293b;
}

.anatomy-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: #334155;
    line-height: 1.8;
}

.anatomy-hero-box {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    position: relative;
    padding: 45px 50px;
}

.anatomy-hero-box::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(2, 132, 199, 0.05) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    transform: translate(30%, -30%);
    z-index: 0;
}

.content-wrapper {
    position: relative;
    z-index: 1;
}

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

.anatomy-section h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 20px;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.anatomy-section h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
    margin-top: 35px;
    margin-bottom: 15px;
}

.anatomy-section p {
    font-size: 17px;
    margin-bottom: 20px;
}

.anatomy-section a {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 600;
    transition: color 0.2s ease;
}

.anatomy-section a:hover {
    color: var(--accent-hover);
}

/* Interaktywny Eksplorator Anatomii */
.anatomy-app {
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    margin: 40px 0;
    display: flex;
    gap: 40px;
    align-items: flex-start;
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
}

.anatomy-visual {
    flex: 0 0 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

/* SVG Styling */
.svg-rotameter {
    width: 120px;
    height: auto;
    overflow: visible;
}

.svg-part {
    transition: all 0.3s ease;
    cursor: pointer;
}

.svg-part:hover {
    filter: drop-shadow(0 0 8px rgba(2, 132, 199, 0.4));
}

.svg-part.active {
    filter: drop-shadow(0 0 12px rgba(2, 132, 199, 0.6));
    stroke: var(--accent);
    stroke-width: 2px;
}

.anatomy-controls {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.app-title-small {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.anatomy-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}

.part-btn {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 8px;
}

.part-btn:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.part-btn.active {
    background: var(--accent);
    color: #ffffff;
    border-color: var(--accent);
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.2);
}

.info-card {
    background: #ffffff;
    border-left: 4px solid var(--accent);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    min-height: 160px;
}

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

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

@media (max-width: 800px) {
    .anatomy-hero-box { padding: 30px 20px; }
    .anatomy-app { flex-direction: column; align-items: center; gap: 25px; padding: 20px;}
    .anatomy-visual { width: 100%; max-width: 250px; }
    .anatomy-buttons { justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#budowa",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Budowa rotametru – z czego składa się wskaźnik przepływu?",
    "description": "Szczegółowa analiza komponentów rotametru: rurka pomiarowa, pływak, gwint mosiężny, uszczelka O-ring i filtr. Interaktywny model budowy urządzenia.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2025/11/Rotametr-wskaznik-przeplywu-w-rozdzielaczu-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": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-czesci",
    "name": "Specyfikacja techniczna i wykaz części rotametru do ogrzewania płaszczyznowego",
    "description": "Baza materiałowa i konstrukcyjna elementów wskaźnika przepływu: poliwęglan (rurka), mosiądz (gwint), EPDM (O-ring) oraz tworzywa sztuczne (pływak, obejma).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "budowa rotametru",
      "części rotametru ogrzewanie podłogowe",
      "wskaźnik przepływu podłogówka budowa",
      "uszczelka O-ring w rotametrze",
      "filtr siatkowy rotametru"
    ],
    "measurementTechnique": "Analiza inżynieryjna komponentów hydraulicznych rozdzielacza mosiężnego/nierdzewnego.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Komponenty budowy rotametru"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-budowa",
    "name": "Interaktywny Eksplorator Anatomii Rotametru",
    "description": "Aplikacja webowa z modułem SVG umożliwiająca interaktywne poznanie budowy wewnętrznej i zewnętrznej wskaźnika przepływu w ogrzewaniu podłogowym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, SVG, JavaScript"
  }
]
</script>

<div class="anatomy-section" id="anatomy-app-container">
    <div class="anatomy-hero-box">
        <div class="content-wrapper">
            
            <div class="anatomy-badge">
                <span>🔎</span> Anatomia Urządzenia
            </div>
            
            <h2>Budowa rotametru – z czego składa się wskaźnik przepływu?</h2>
            
            <p>Mimo prostej zasady działania opartej na fizyce, <strong>konstrukcja rotametru jest niezwykle przemyślana</strong>. To niewielkie urządzenie musi wytrzymywać stałe ciśnienie, wahania temperatur, a jednocześnie zapewniać wysoką przejrzystość przez wiele lat eksploatacji instalacji. Odpowiednia znajomość jego elementów to klucz nie tylko do regulacji, ale i do konserwacji – na przykład gdy zastanawiasz się, <a href="https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/">jaki wpływ ma jakość czynnika grzewczego</a> na żywotność wskaźnika.</p>
            
            <p>Poniżej przygotowałem dla Ciebie interaktywny model. Pozwoli Ci on zrozumieć, co dokładnie wkręcasz w belkę rozdzielacza i dlaczego każdy z tych drobnych detali – od gwintu po małą uszczelkę odpowiadającą za <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">pomyślne przejście próby szczelności</a> – ma tak ogromne znaczenie.</p>

            <div class="anatomy-app">
                <div class="anatomy-visual">
                    <svg class="svg-rotameter" viewBox="0 0 100 240" xmlns="http://www.w3.org/2000/svg">
                        <defs>
                            <linearGradient id="glassGrad" x1="0%" y1="0%" x2="100%" y2="0%">
                                <stop offset="0%" stop-color="#f8fafc" stop-opacity="0.8"/>
                                <stop offset="50%" stop-color="#ffffff" stop-opacity="0.4"/>
                                <stop offset="100%" stop-color="#e2e8f0" stop-opacity="0.9"/>
                            </linearGradient>
                            <linearGradient id="brassGrad" x1="0%" y1="0%" x2="100%" y2="0%">
                                <stop offset="0%" stop-color="#b8860b"/>
                                <stop offset="50%" stop-color="#ffd700"/>
                                <stop offset="100%" stop-color="#daa520"/>
                            </linearGradient>
                        </defs>
                        
                        <g id="part-rurka" class="svg-part active">
                            <path d="M 35 15 L 65 15 L 75 140 L 25 140 Z" fill="url(#glassGrad)" stroke="#cbd5e1" stroke-width="2"/>
                            <line x1="30" y1="30" x2="40" y2="30" stroke="#64748b" stroke-width="1.5"/>
                            <line x1="30" y1="55" x2="35" y2="55" stroke="#64748b" stroke-width="1"/>
                            <line x1="30" y1="80" x2="40" y2="80" stroke="#64748b" stroke-width="1.5"/>
                            <line x1="30" y1="105" x2="35" y2="105" stroke="#64748b" stroke-width="1"/>
                            <line x1="30" y1="130" x2="40" y2="130" stroke="#64748b" stroke-width="1.5"/>
                        </g>

                        <g id="part-plywak" class="svg-part">
                            <path d="M 40 100 L 60 100 L 55 120 L 45 120 Z" fill="#ef4444"/>
                            <path d="M 45 120 L 55 120 L 50 135 Z" fill="#dc2626"/>
                        </g>

                        <g id="part-pokretlo" class="svg-part">
                            <rect x="20" y="140" width="60" height="20" rx="3" fill="#dc2626"/>
                            <rect x="22" y="142" width="56" height="16" rx="2" fill="#ef4444"/>
                            <line x1="30" y1="140" x2="30" y2="160" stroke="#b91c1c" stroke-width="2"/>
                            <line x1="50" y1="140" x2="50" y2="160" stroke="#b91c1c" stroke-width="2"/>
                            <line x1="70" y1="140" x2="70" y2="160" stroke="#b91c1c" stroke-width="2"/>
                        </g>

                        <g id="part-gwint" class="svg-part">
                            <rect x="28" y="160" width="44" height="25" fill="#1e293b"/>
                            <rect x="32" y="185" width="36" height="20" fill="url(#brassGrad)"/>
                            <path d="M 32 188 L 68 188 M 32 194 L 68 194 M 32 200 L 68 200" stroke="#b8860b" stroke-width="1.5"/>
                            <rect x="30" y="183" width="40" height="4" rx="2" fill="#000000"/>
                        </g>

                        <g id="part-filtr" class="svg-part">
                            <path d="M 38 205 L 62 205 L 58 230 L 42 230 Z" fill="#e2e8f0" stroke="#94a3b8" stroke-width="1.5"/>
                            <line x1="42" y1="210" x2="58" y2="210" stroke="#cbd5e1" stroke-width="1"/>
                            <line x1="44" y1="215" x2="56" y2="215" stroke="#cbd5e1" stroke-width="1"/>
                            <line x1="46" y1="220" x2="54" y2="220" stroke="#cbd5e1" stroke-width="1"/>
                        </g>
                    </svg>
                </div>

                <div class="anatomy-controls">
                    <div class="app-title-small">Wybierz element, aby poznać jego funkcję:</div>
                    
                    <div class="anatomy-buttons">
                        <button class="part-btn active" data-target="part-rurka">
                            Szklana rurka i skala
                        </button>
                        <button class="part-btn" data-target="part-plywak">
                            Pływak pomiarowy
                        </button>
                        <button class="part-btn" data-target="part-pokretlo">
                            Czerwona obejma (Regulacja)
                        </button>
                        <button class="part-btn" data-target="part-gwint">
                            Gwint i uszczelka O-ring
                        </button>
                        <button class="part-btn" data-target="part-filtr">
                            Wewnętrzny filtr
                        </button>
                    </div>

                    <div class="info-card" id="anatomy-info-card">
                        <h4>Szklana rurka pomiarowa i skala (L/min)</h4>
                        <p>Przezroczysty korpus wykonany zazwyczaj ze wzmocnionego poliwęglanu, odpornego na wysokie temperatury. Umożliwia ciągłą, wizualną obserwację przepływu. Nadrukowana na nim podziałka pozwala precyzyjnie odczytać wartość w litrach na minutę (L/min).</p>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Baza danych dla interaktywnego eksploratora
    const anatomyData = {
        'part-rurka': {
            title: 'Szklana rurka pomiarowa i skala (L/min)',
            desc: 'Przezroczysty korpus wykonany zazwyczaj ze wzmocnionego poliwęglanu, odpornego na wysokie temperatury. Umożliwia ciągłą, wizualną obserwację przepływu. Nadrukowana na nim podziałka pozwala precyzyjnie odczytać wartość w litrach na minutę (L/min).'
        },
        'part-plywak': {
            title: 'Pływak pomiarowy (stożkowy)',
            desc: 'Główny element pomiarowy. Unosi się w strumieniu cieczy pod wpływem oporu hydrodynamicznego wody z pompy obiegowej. To jego górna krawędź wyznacza odczyt przepływu na skali.'
        },
        'part-pokretlo': {
            title: 'Czerwona obejma (Regulacja przepływu)',
            desc: 'Pokrętło lub zintegrowany z korpusem zawór. Obracając je ręcznie, dławimy lub zwiększamy przekrój, ustawiając w ten sposób docelowy przepływ masowy dla konkretnej pętli ogrzewania podłogowego.'
        },
        'part-gwint': {
            title: 'Gwint montażowy (mosiądz) i uszczelka O-ring',
            desc: 'Metalowy element odpowiadający za mechaniczne i trwałe połączenie wskaźnika z mosiężną lub nierdzewną belką rozdzielacza. Czarny O-ring wykonany z gumy EPDM gwarantuje absolutną szczelność układu.'
        },
        'part-filtr': {
            title: 'Wewnętrzny filtr siatkowy',
            desc: 'Niezwykle ważny, lecz często niewidoczny z zewnątrz element. Zabezpiecza precyzyjny mechanizm pływaka przed mikrozanieczyszczeniami z instalacji, które mogłyby go zablokować na dnie lub przekłamać odczyt.'
        }
    };

    const buttons = document.querySelectorAll('.part-btn');
    const svgParts = document.querySelectorAll('.svg-part');
    const infoCard = document.getElementById('anatomy-info-card');

    function updateExplorer(targetId) {
        // Reset aktywnych stanów
        buttons.forEach(b => b.classList.remove('active'));
        svgParts.forEach(s => s.classList.remove('active'));

        // Aktywuj wybrane
        document.querySelector(`.part-btn[data-target="${targetId}"]`).classList.add('active');
        document.getElementById(targetId).classList.add('active');

        // Aktualizuj treść z małą animacją opacity
        infoCard.style.opacity = 0;
        setTimeout(() => {
            infoCard.innerHTML = `
                <p>${anatomyData[targetId].title}</p>
                <p>${anatomyData[targetId].desc}</p>
            `;
            infoCard.style.transition = 'opacity 0.3s ease';
            infoCard.style.opacity = 1;
        }, 150);
    }

    // Dodaj zdarzenia do przycisków
    buttons.forEach(btn => {
        btn.addEventListener('click', (e) => {
            updateExplorer(e.currentTarget.getAttribute('data-target'));
        });
    });

    // Dodaj zdarzenia do części SVG (umożliwia klikanie w rysunek)
    svgParts.forEach(part => {
        part.addEventListener('click', (e) => {
            updateExplorer(e.currentTarget.id);
        });
    });

    // --- ZABEZPIECZENIE DOMENOWE (Domain Lock) ---
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('anatomy-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 60px 20px; text-align: center; background: #e0f2fe; color: #0284c7; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 48px; margin-bottom: 20px;">🔒</div>
                    <div style="font-size: 24px; font-weight: bold; margin-bottom: 10px;">Ochrona treści</div>
                    <p style="font-size: 16px; color: #0369a1; max-width: 500px; margin: 0 auto 25px auto;">
                        Ten interaktywny moduł edukacyjny stanowi własność intelektualną serwisu <strong>Projekt-Ogrzewania.pl</strong> i został osadzony bezprawnie.
                    </p>
                    <a href="https://projekt-ogrzewania.pl/" style="display:inline-block; padding: 12px 24px; background: #0284c7; color: #fff; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
        }
    }
});
</script>



<style>
:root {
    --mf-primary: #0f172a;
    --mf-panel: #ffffff;
    --mf-accent: #0ea5e9;
    --mf-accent-dark: #0284c7;
    --mf-text: #334155;
    --mf-muted: #64748b;
    --mf-border: #e2e8f0;
    --mf-danger: #ef4444;
    --mf-success: #10b981;
    --mf-brass: #d4af37;
    --mf-brass-dark: #b8860b;
}

.mf-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--mf-panel);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--mf-border);
    overflow: hidden;
    color: var(--mf-text);
}

/* FORMATOWANIE TEKSTU */
.mf-article-content {
    padding: 40px 50px 20px 50px;
}

.mf-article-content h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--mf-primary);
    margin-bottom: 25px;
    letter-spacing: -0.5px;
}

.mf-article-content h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--mf-primary);
    margin-top: 35px;
    margin-bottom: 20px;
}

.mf-article-content a {
    color: var(--mf-accent-dark);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: 0.2s;
}

.mf-article-content a:hover {
    color: #0c4a6e;
}

.mf-lead-text {
    font-size: 17px;
    line-height: 1.8;
    color: var(--mf-text);
    margin-bottom: 25px;
    border-left: 4px solid var(--mf-accent);
    padding-left: 20px;
}

.mf-info-box {
    background: #f8fafc;
    border: 1px solid var(--mf-border);
    border-radius: 16px;
    padding: 20px 25px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.mf-info-icon {
    font-size: 28px;
    flex-shrink: 0;
    line-height: 1;
}

.mf-info-box p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
}

.mf-compare-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 10px;
}

.mf-compare-card {
    padding: 25px;
    border-radius: 16px;
    border: 1px solid;
}

.mf-danger-card {
    background: #fef2f2;
    border-color: #fecaca;
}

.mf-success-card {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.mf-card-title {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 12px;
}

.mf-danger-card .mf-card-title { color: #991b1b; }
.mf-success-card .mf-card-title { color: #166534; }

.mf-compare-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #3f3f46;
}

/* APLIKACJA ROZDZIELACZA */
.mf-app {
    background: #f8fafc;
    border-top: 1px solid var(--mf-border);
    padding: 40px 50px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.mf-app-header {
    text-align: center;
}

.mf-app-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--mf-primary);
    margin-bottom: 8px;
}

.mf-app-subtitle {
    font-size: 14px;
    color: var(--mf-muted);
}

/* WIZUALIZACJA SVG */
.mf-visual-panel {
    background: #ffffff;
    border: 1px solid var(--mf-border);
    border-radius: 20px;
    padding: 30px 20px;
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
    display: flex;
    justify-content: center;
}

.mf-manifold-svg {
    width: 100%;
    max-width: 700px;
    height: auto;
    overflow: visible;
}

.mf-glass { fill: #f1f5f9; stroke: #cbd5e1; stroke-width: 2; }
.mf-water { fill: #0ea5e9; transition: height 0.5s cubic-bezier(0.25, 1, 0.5, 1), y 0.5s cubic-bezier(0.25, 1, 0.5, 1); }
.mf-float { fill: #ef4444; transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1); }
.mf-scale-line { stroke: #94a3b8; stroke-width: 1; }

/* KONTROLKI */
.mf-controls-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

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

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

.mf-zone-name {
    font-weight: 800;
    font-size: 14px;
    color: var(--mf-primary);
    display: flex;
    align-items: center;
    gap: 6px;
}

.mf-zone-value {
    background: #e0f2fe;
    color: var(--mf-accent-dark);
    padding: 4px 10px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 13px;
}

.mf-slider {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}
.mf-slider:focus { outline: none; }
.mf-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 6px;
    cursor: pointer;
    background: #cbd5e1;
    border-radius: 4px;
}
.mf-slider::-webkit-slider-thumb {
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background: var(--mf-accent);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -7px;
    border: 3px solid #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* PANEL STATUSU I PRZYCISK */
.mf-action-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fffbeb;
    border: 1px solid #fde68a;
    padding: 20px 30px;
    border-radius: 16px;
    margin-top: 10px;
    transition: 0.4s;
}

.mf-action-panel.balanced {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.mf-status-text { max-width: 65%; }

.mf-status-title {
    font-size: 18px;
    font-weight: 900;
    color: #92400e;
    margin-bottom: 5px;
}
.mf-action-panel.balanced .mf-status-title { color: #166534; }

.mf-status-desc {
    font-size: 14px;
    color: #b45309;
    line-height: 1.5;
}
.mf-action-panel.balanced .mf-status-desc { color: #15803d; }

.mf-toggle-btn {
    background: var(--mf-primary);
    color: #ffffff;
    border: none;
    padding: 16px 28px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 15px;
    cursor: pointer;
    transition: 0.3s;
    box-shadow: 0 4px 15px rgba(15, 23, 42, 0.2);
}

.mf-toggle-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.3);
}

.mf-toggle-btn.active {
    background: var(--mf-success);
}

@media (max-width: 800px) {
    .mf-article-content { padding: 30px 25px 10px 25px; }
    .mf-compare-grid { grid-template-columns: 1fr; }
    .mf-app { padding: 30px 20px; }
    .mf-action-panel { flex-direction: column; text-align: center; gap: 20px; }
    .mf-status-text { max-width: 100%; }
    .mf-toggle-btn { width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#rownowazenie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Równoważenie hydrauliczne instalacji – najważniejsze zadanie rotametru",
    "description": "Zobacz na interaktywnym symulatorze rozdzielacza 5-obwodowego, jak rozregulowane przepływy niszczą wydajność układu oraz jak prawidłowo wyregulować rotametry.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-przeplywy",
    "name": "Rozkład przepływów hydraulicznych w 5-sekcyjnym rozdzielaczu ogrzewania podłogowego",
    "description": "Zestawienie zmian natężenia przepływu przed i po zastosowaniu kryzowania (regulacji rotametrami) dla typowych pomieszczeń domowych: Salon, Kuchnia, Łazienka, Sypialnia, Korytarz.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "równoważenie hydrauliczne",
      "jak wyregulować rotametry ogrzewanie podłogowe",
      "przepływ wody w podłogówce",
      "regulacja pętli ogrzewania",
      "opory hydrauliczne podłogówka"
    ],
    "measurementTechnique": "Symulacja obliczeniowa oporów przepływu (wielkość przepływu odwrotnie proporcjonalna do długości rury PEX/PERT) przy stałym wydatku pompy obiegowej.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Proces równoważenia hydraulicznego rozdzielacza"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-hydraulika",
    "name": "Zaawansowany Symulator Rozdzielacza 5-obwodowego",
    "description": "Aplikacja webowa symulująca przepływy w instalacji podłogowej. Wskazuje jak różnica w długości pętli w poszczególnych pomieszczeniach powoduje niedogrzanie jednych i przegrzanie innych stref.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, SVG"
  }
]
</script>

<div class="mf-container" id="app-manifold-balancing">
    <div class="mf-article-content">
        <h2>Rola rotametru: Równoważenie hydrauliczne całego domu</h2>
        
        <div class="mf-lead-text">
            Wielu inwestorów zastanawia się, czy rotametry są absolutnie konieczne, czy stanowią jedynie zbędny, podnoszący koszty dodatek. Prawda jest brutalna: <strong>bez rotametrów profesjonalne wyregulowanie ogrzewania podłogowego jest w 100% niemożliwe</strong>. To tak, jakby próbować nastroić fortepian bez zmysłu słuchu.
        </div>

        <div class="mf-info-box">
            <span class="mf-info-icon">💧</span>
            <p>W typowym domu pętle grzewcze rzadko są idealnie równe. Masz przecież rozległy <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">salon wymagający ogromnej ilości rur</a> (np. 110 metrów) i maleńki korytarz lub toaletę z pętlą zaledwie 30-metrową. Fizyka cieczy jest nieubłagana – woda w instalacji zachowuje się jak „leniwy uczeń”. Zawsze wybiera drogę o najmniejszym oporze hydraulicznym.</p>
        </div>

        <h3>Co się dzieje bez regulacji? (Zjawisko kradzieży przepływu)</h3>
        
        <div class="mf-compare-grid">
            <div class="mf-compare-card mf-danger-card">
                <div class="mf-card-title">❌ Brak regulacji (Szum i zimno)</div>
                <p>Gdybyś otworzył wszystkie obwody na rozdzielaczu na 100%, ciśnienie z pompy uciekłoby niemal w całości przez najkrótsze pętle. W efekcie w korytarzu i małej łazience miałbyś &#8222;piekarnik&#8221; i niepokojący szum wody, a w kluczowym dla komfortu salonie – <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">zimną podłogę</a>, ponieważ przez 100-metrową rurę woda po prostu nie miałaby siły popłynąć.</p>
            </div>
            
            <div class="mf-compare-card mf-success-card">
                <div class="mf-card-title">✅ Rotametr jako precyzyjny dławik</div>
                <p>To właśnie tutaj wkracza rotametr. Działa on jak precyzyjny dławik. Poprzez ręczne wkręcanie czerwonej obejmy <strong>sztucznie zwiększamy opór na krótkich pętlach</strong>. Zmuszamy w ten sposób wodę do pokonania dłuższego dystansu i zasilenia największych pomieszczeń, tak aby zrównać system z założeniami z <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektu OZC</a>.</p>
            </div>
        </div>
    </div>

    <div class="mf-app">
        <div class="mf-app-header">
            <div class="mf-app-title">Symulator Równoważenia Rozdzielacza (5 Stref)</div>
            <div class="mf-app-subtitle">Ustaw długości pętli i zobacz, jak &#8222;leniwa&#8221; woda omija najdłuższe z nich.</div>
        </div>

        <div class="mf-visual-panel">
            <svg class="mf-manifold-svg" viewBox="0 0 600 250" xmlns="http://www.w3.org/2000/svg">
                <rect x="20" y="200" width="560" height="40" rx="5" fill="url(#brassGrad)"/>
                <path d="M 20 210 L 580 210 M 20 230 L 580 230" stroke="#b8860b" stroke-width="1" opacity="0.5"/>
                
                <defs>
                    <linearGradient id="brassGrad" x1="0%" y1="0%" x2="0%" y2="100%">
                        <stop offset="0%" stop-color="#ffd700"/>
                        <stop offset="50%" stop-color="#daa520"/>
                        <stop offset="100%" stop-color="#b8860b"/>
                    </linearGradient>
                </defs>

                <g transform="translate(70, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/><text x="-2" y="24" font-size="10" fill="#64748b">3.0</text>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/><text x="-2" y="69" font-size="10" fill="#64748b">2.0</text>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/><text x="-2" y="114" font-size="10" fill="#64748b">1.0</text>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/><text x="-2" y="159" font-size="10" fill="#64748b">0.0</text>
                    <rect id="water-1" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-1" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/> <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">SALON</text>
                    <text id="val-1" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>

                <g transform="translate(170, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/>
                    <rect id="water-2" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-2" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/>
                    <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">KUCHNIA</text>
                    <text id="val-2" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>

                <g transform="translate(270, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/>
                    <rect id="water-3" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-3" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/>
                    <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">ŁAZIENKA</text>
                    <text id="val-3" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>

                <g transform="translate(370, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/>
                    <rect id="water-4" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-4" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/>
                    <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">SYPIALNIA</text>
                    <text id="val-4" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>

                <g transform="translate(470, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/>
                    <rect id="water-5" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-5" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/>
                    <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">KORYTARZ</text>
                    <text id="val-5" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>
            </svg>
        </div>

        <div class="mf-action-panel" id="mf-status-box">
            <div class="mf-status-text">
                <div class="mf-status-title" id="mf-status-title">⚠️ System ROZREGULOWANY!</div>
                <div class="mf-status-desc" id="mf-status-desc">Wszystkie rotametry są całkowicie otwarte (0 dławienia). Ciśnienie z pompy ucieka z najmniejszym oporem przez krótkie pętle (Łazienka, Korytarz). Salon pozostaje lodowaty!</div>
            </div>
            <button class="mf-toggle-btn" id="mf-toggle-btn">
                <span>🔧</span> WŁĄCZ REGULACJĘ ROTAMETRAMI
            </button>
        </div>

        <div class="mf-controls-grid">
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">📺 Salon (Długa)</span>
                    <span class="mf-zone-value"><span id="l-val-1">110</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-1" min="40" max="130" step="5" value="110">
            </div>
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">🍳 Kuchnia (Średnia)</span>
                    <span class="mf-zone-value"><span id="l-val-2">70</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-2" min="30" max="100" step="5" value="70">
            </div>
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">🛁 Łazienka (Krótka)</span>
                    <span class="mf-zone-value"><span id="l-val-3">35</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-3" min="20" max="80" step="5" value="35">
            </div>
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">🛏️ Sypialnia (Średnia)</span>
                    <span class="mf-zone-value"><span id="l-val-4">60</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-4" min="30" max="100" step="5" value="60">
            </div>
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">🚪 Korytarz (Bardzo krótka)</span>
                    <span class="mf-zone-value"><span id="l-val-5">25</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-5" min="20" max="70" step="5" value="25">
            </div>
        </div>
        
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- DOMAIN LOCK ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-manifold-balancing');
        if (container) {
            container.innerHTML = `<div style="padding:40px;text-align:center;background:#0f172a;color:#fff;border-radius:24px;"><p>🔒 Narzędzie Chronione</p><p>Symulator Równoważenia 5-obwodowego należy do <strong>Projekt-Ogrzewania.pl</strong>.</p></div>`;
            return;
        }
    }

    let isBalanced = false;
    const totalPumpFlow = 10.0;
    const multipliers = [0.018, 0.020, 0.040, 0.015, 0.025]; 

    const inputs = [
        document.getElementById('l-input-1'),
        document.getElementById('l-input-2'),
        document.getElementById('l-input-3'),
        document.getElementById('l-input-4'),
        document.getElementById('l-input-5')
    ];
    
    const valDisplays = [
        document.getElementById('l-val-1'),
        document.getElementById('l-val-2'),
        document.getElementById('l-val-3'),
        document.getElementById('l-val-4'),
        document.getElementById('l-val-5')
    ];

    const waterRects = [
        document.getElementById('water-1'),
        document.getElementById('water-2'),
        document.getElementById('water-3'),
        document.getElementById('water-4'),
        document.getElementById('water-5')
    ];
    
    const floats = [
        document.getElementById('float-1'),
        document.getElementById('float-2'),
        document.getElementById('float-3'),
        document.getElementById('float-4'),
        document.getElementById('float-5')
    ];

    const flowReadouts = [
        document.getElementById('val-1'),
        document.getElementById('val-2'),
        document.getElementById('val-3'),
        document.getElementById('val-4'),
        document.getElementById('val-5')
    ];

    const toggleBtn = document.getElementById('mf-toggle-btn');
    const statusBox = document.getElementById('mf-status-box');
    const statusTitle = document.getElementById('mf-status-title');
    const statusDesc = document.getElementById('mf-status-desc');

    function calculateFlows() {
        const lengths = inputs.map(input => parseFloat(input.value));
        lengths.forEach((len, i) => { valDisplays[i].textContent = len; });

        let flows = [0,0,0,0,0];

        if (isBalanced) {
            flows = lengths.map((len, i) => {
                let optimal = len * multipliers[i];
                return Math.min(optimal, 3.2); 
            });
            
            statusBox.className = 'mf-action-panel balanced';
            statusTitle.innerHTML = '✅ UKŁAD IDEALNIE ZBILANSOWANY';
            statusDesc.innerHTML = 'Rotametry zostały prawidłowo zdławione według projektu. Największy opór stawiany jest krótkim pętlom (Korytarz, Łazienka), wymuszając przepływ w Salonie. Cały dom grzeje równomiernie.';
            toggleBtn.innerHTML = '<span>🔓</span> Otwórz zawory na 100% (Zepsuj)';
            toggleBtn.classList.add('active');

        } else {
            let conductances = lengths.map(len => 1 / len);
            let sumConductance = conductances.reduce((a, b) => a + b, 0);
            
            flows = conductances.map(c => totalPumpFlow * (c / sumConductance));
            
            statusBox.className = 'mf-action-panel';
            statusTitle.innerHTML = '⚠️ System ROZREGULOWANY!';
            statusDesc.innerHTML = 'Wszystkie rotametry są całkowicie otwarte (0 dławienia). Ciśnienie ucieka z najmniejszym oporem przez krótkie pętle (Łazienka, Korytarz). Salon pozostaje lodowaty!';
            toggleBtn.innerHTML = '<span>🔧</span> WŁĄCZ REGULACJĘ ROTAMETRAMI';
            toggleBtn.classList.remove('active');
        }

        flows.forEach((flow, i) => {
            let displayFlow = Math.min(flow, 3.2);
            let pxHeight = (displayFlow / 3.2) * 145; 
            
            waterRects[i].setAttribute('height', pxHeight);
            waterRects[i].setAttribute('y', 165 - pxHeight);
            floats[i].style.transform = `translateY(-${pxHeight}px)`;

            flowReadouts[i].textContent = `${flow.toFixed(1)} l/min`;
            if (!isBalanced && (flow > 2.5 || flow < 0.6)) {
                flowReadouts[i].setAttribute('fill', '#dc2626'); 
            } else {
                flowReadouts[i].setAttribute('fill', '#0284c7'); 
            }
        });
    }

    inputs.forEach(input => {
        input.addEventListener('input', () => {
            isBalanced = false;
            calculateFlows();
        });
    });

    toggleBtn.addEventListener('click', () => {
        isBalanced = !isBalanced;
        calculateFlows();
    });

    calculateFlows();
});
</script>



<style>
:root {
    --diag-primary: #0f172a;
    --diag-panel: #ffffff;
    --diag-accent: #0284c7;
    --diag-accent-light: #e0f2fe;
    --diag-text: #334155;
    --diag-muted: #64748b;
    --diag-border: #e2e8f0;
    --diag-danger: #ef4444;
    --diag-warning: #f59e0b;
    --diag-success: #10b981;
}

.diag-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--diag-text);
}

/* WSTĘP */
.diag-intro {
    background: linear-gradient(135deg, #ffffff, var(--diag-accent-light));
    padding: 35px 40px;
    border-radius: 24px;
    border: 1px solid var(--diag-border);
    margin-bottom: 30px;
    box-shadow: 0 10px 30px -10px rgba(2, 132, 199, 0.1);
}

.diag-intro h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--diag-primary);
    margin-bottom: 15px;
    letter-spacing: -0.5px;
    line-height: 1.3;
}

.diag-intro p {
    font-size: 17px;
    line-height: 1.7;
    margin: 0;
}

/* KARTY FUNKCJI (Zamiast ściany tekstu) */
.diag-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.diag-card {
    background: var(--diag-panel);
    border: 1px solid var(--diag-border);
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: transform 0.3s, box-shadow 0.3s;
}

.diag-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px -5px rgba(0,0,0,0.05);
    border-color: #bae6fd;
}

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

.diag-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--diag-primary);
    margin-top: 0;
    margin-bottom: 15px;
    line-height: 1.3;
}

.diag-card p {
    font-size: 14.5px;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 15px;
}

.diag-card ul {
    padding-left: 20px;
    margin: 0;
    font-size: 14px;
    color: #475569;
}

.diag-card li { margin-bottom: 6px; }

.diag-link {
    color: var(--diag-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: 0.2s;
}
.diag-link:hover { border-color: var(--diag-accent); color: #0369a1; }

/* SYMULATOR DIAGNOSTYCZNY */
.diag-app {
    background: var(--diag-panel);
    border: 1px solid var(--diag-border);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.05);
    display: flex;
}

.diag-app-sidebar {
    width: 35%;
    background: #f8fafc;
    padding: 30px;
    border-right: 1px solid var(--diag-border);
}

.diag-app-main {
    width: 65%;
    padding: 30px 40px;
    display: flex;
    align-items: center;
    gap: 40px;
}

.diag-btn {
    width: 100%;
    text-align: left;
    background: #ffffff;
    border: 1px solid var(--diag-border);
    padding: 15px 20px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--diag-text);
    margin-bottom: 12px;
    cursor: pointer;
    transition: 0.2s;
    display: flex;
    align-items: center;
    gap: 10px;
}

.diag-btn:hover { border-color: var(--diag-accent); }
.diag-btn.active {
    background: var(--diag-accent);
    color: #ffffff;
    border-color: var(--diag-accent);
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
}

/* SVG ROTAMETR ANIMACJE */
.diag-svg-container {
    width: 120px;
    height: 280px;
    flex-shrink: 0;
}

.svg-glass { fill: #f1f5f9; stroke: #cbd5e1; stroke-width: 2; }
.svg-water { fill: rgba(14, 165, 233, 0.15); }
.svg-float { fill: #ef4444; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }

/* Animacje stanów */
.state-normal .svg-float { transform: translateY(-70px); }
.state-zero .svg-float { transform: translateY(0px); }
.state-jump .svg-float { animation: jumpAnim 0.8s infinite alternate ease-in-out; }
@keyframes jumpAnim {
    0% { transform: translateY(-40px); }
    100% { transform: translateY(-80px); }
}

/* Bąbelki powietrza */
.svg-bubble { fill: #ffffff; opacity: 0; }
.state-jump .svg-bubble { animation: bubbleRise 1.5s infinite linear; }
.state-jump .svg-bubble:nth-child(2) { animation-delay: 0.5s; }
.state-jump .svg-bubble:nth-child(3) { animation-delay: 1s; }
@keyframes bubbleRise {
    0% { transform: translateY(140px); opacity: 0; }
    20% { opacity: 0.8; }
    100% { transform: translateY(20px); opacity: 0; }
}

.diag-result {
    flex-grow: 1;
}

.diag-badge {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 15px;
}
.badge-ok { background: #dcfce7; color: #166534; }
.badge-warn { background: #fef3c7; color: #92400e; }
.badge-err { background: #fee2e2; color: #991b1b; }

.diag-result h4 {
    font-size: 20px;
    font-weight: 900;
    color: var(--diag-primary);
    margin: 0 0 10px 0;
}

.diag-result p {
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
}

@media (max-width: 900px) {
    .diag-grid { grid-template-columns: 1fr; }
    .diag-app { flex-direction: column; }
    .diag-app-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--diag-border); }
    .diag-app-main { width: 100%; flex-direction: column; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#diagnostyka",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Rola rotametru: Równoważenie, kontrola i diagnostyka ogrzewania podłogowego",
    "description": "Zrozum 3 fundamentalne funkcje wskaźnika przepływu. Naucz się diagnozować awarię pompy, zapowietrzenie obiegów i brak przepływu na rotametrze dzięki interaktywnej aplikacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-03",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-symptomy",
    "name": "Symptomy i diagnoza pracy obiegów grzewczych na podstawie rotametrów",
    "description": "Wizualna obserwacja zachowania pływaka rotametru pod obciążeniem hydraulicznym. Baza danych objawów zapowietrzenia i awarii pompy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "brak przepływu na rotametrze",
      "skaczący rotametr podłogówka",
      "diagnoza ogrzewania podłogowego",
      "wskaźnik przepływu na zerze",
      "jak wyregulować podłogówkę rotametrami"
    ],
    "measurementTechnique": "Bezpośrednia obserwacja dynamiki wskaźnika pływakowego na belce rozdzielacza w stosunku do wydajności pompy obiegowej.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Diagnostyka hydrauliczna instalacji"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-diagnosta",
    "name": "Interaktywny Diagnosta Rotametrów",
    "description": "Narzędzie symulujące stany awaryjne wskaźnika przepływu. Pozwala wizualnie zidentyfikować zapowietrzenie pętli lub usterki mechaniczne systemu na podstawie zachowania rotametru.",
    "applicationCategory": "DiagnosticApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, SVG Animations"
  }
]
</script>

<div class="diag-wrapper" id="app-diagnostics-module">
    
    <div class="diag-intro">
        <h2>Więcej niż wskaźnik: Trzy filary rotametru</h2>
        <p>Wielu inwestorów zastanawia się, czy rotametr na rozdzielaczu to tylko zbędny gadżet podnoszący wycenę instalatora. Prawda jest taka, że bez nich <strong>profesjonalne i energooszczędne wyregulowanie instalacji jest po prostu fizycznie niemożliwe</strong>. To &#8222;oczy i uszy&#8221; Twojego systemu HVAC, pełniące 3 fundamentalne role.</p>
    </div>

    <div class="diag-grid">
        <div class="diag-card">
            <span class="diag-card-icon">⚖️</span>
            <h3>1. Równoważenie hydrauliczne</h3>
            <p>To najważniejsze zadanie. W domu pętle mają różną długość: np. łazienka 70m, salon 100m, sypialnia 60m. <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" class="diag-link">Dłuższa pętla stawia większy opór</a>.</p>
            <p>Gdyby pętle były w pełni otwarte, woda wybrałaby najkrótszą drogę. W efekcie łazienka byłaby przegrzana, a salon lodowaty. Rotametr pozwala &#8222;przykręcić&#8221; krótkie obwody i zrównoważyć dostarczaną energię.</p>
        </div>

        <div class="diag-card">
            <span class="diag-card-icon">🩺</span>
            <h3>2. Ciągła diagnoza systemu</h3>
            <p>Rotametry to niezawodne &#8222;pulsomierze&#8221; instalacji. Wystarczy jeden rzut oka na belkę rozdzielacza, aby w kilka sekund zlokalizować awarię układu.</p>
            <ul>
                <li><strong>Leży na dnie:</strong> Blokada lub silne zapowietrzenie.</li>
                <li><strong>Drga i skacze:</strong> Powietrze w rurach.</li>
                <li><strong>Wszystkie na 0:</strong> Prawdopodobna awaria <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" class="diag-link">pompy obiegowej</a>.</li>
            </ul>
        </div>

        <div class="diag-card">
            <span class="diag-card-icon">🚀</span>
            <h3>3. Narzędzie przy rozruchu</h3>
            <p>Podczas pierwszego uruchomienia i <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" class="diag-link">próby ciśnieniowej</a>, rozbieżności między projektem a odczytem rotametru to czerwona flaga.</p>
            <p>Mogą one wskazywać na fizyczne załamanie rury w wylewce, zbyt mocne zaciśnięcie złączki lub błąd w wykonaniu długości pętli. Z kolei w eksploatacji powolny spadek przepływu to sygnał o zamuleniu (zanieczyszczeniu) zładu wody.</p>
        </div>
    </div>

    <div class="diag-app">
        <div class="diag-app-sidebar">
            <div class="diag-app-title">Symulator Diagnosty</div>
            <div class="diag-app-subtitle" style="margin-bottom: 25px;">Kliknij w objaw, który obserwujesz na swojej instalacji:</div>
            
            <button class="diag-btn active" data-state="normal">
                <span>✅</span> Stabilny odczyt
            </button>
            <button class="diag-btn" data-state="jump">
                <span>⚠️</span> Pływak &#8222;skacze&#8221; / drga
            </button>
            <button class="diag-btn" data-state="zero-one">
                <span>❌</span> Jeden pływak na dnie
            </button>
            <button class="diag-btn" data-state="zero-all">
                <span>🚨</span> Wszystkie pływaki na 0
            </button>
        </div>
        
        <div class="diag-app-main">
            <div class="diag-svg-container state-normal" id="diag-svg">
                <svg viewBox="0 0 60 160" width="100%" height="100%">
                    <rect class="svg-glass" x="10" y="10" width="40" height="140" rx="4"/>
                    <line x1="12" y1="30" x2="20" y2="30" stroke="#94a3b8"/><text x="23" y="33" font-size="8" fill="#64748b">3.0</text>
                    <line x1="12" y1="60" x2="20" y2="60" stroke="#94a3b8"/><text x="23" y="63" font-size="8" fill="#64748b">2.0</text>
                    <line x1="12" y1="90" x2="20" y2="90" stroke="#94a3b8"/><text x="23" y="93" font-size="8" fill="#64748b">1.0</text>
                    <line x1="12" y1="120" x2="20" y2="120" stroke="#94a3b8"/><text x="23" y="123" font-size="8" fill="#64748b">0.0</text>
                    
                    <rect class="svg-water" x="12" y="12" width="36" height="136" rx="2"/>
                    
                    <path class="svg-float" d="M 20 135 L 40 135 L 36 125 L 24 125 Z"/>
                    
                    <circle class="svg-bubble" cx="25" cy="0" r="2"/>
                    <circle class="svg-bubble" cx="35" cy="0" r="3"/>
                    <circle class="svg-bubble" cx="30" cy="0" r="1.5"/>
                    
                    <rect x="5" y="140" width="50" height="12" rx="2" fill="#ef4444"/>
                </svg>
            </div>
            
            <div class="diag-result" id="diag-result-content">
                <span class="diag-badge badge-ok">Stan Poprawny</span>
                <h4>Wszystko działa idealnie</h4>
                <p>Przepływ jest stabilny i zgadza się z wartościami z projektu. Pompa obiegowa tłoczy czynnik grzewczy bez zakłóceń, a w pętli nie ma korków gazowych. Podłoga powinna nagrzewać się równomiernie.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- DOMAIN LOCK (Bez h2/h3) ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-diagnostics-module');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #fff; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 10px;">🔒</div>
                    <div style="font-weight: 800; font-size: 22px; margin-bottom: 15px; color: #38bdf8;">Treść Chroniona</div>
                    <div style="font-size: 15px; color: #cbd5e1; margin-bottom: 20px;">Symulator Diagnostyczny stanowi własność serwisu Projekt-Ogrzewania.pl.</div>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">Przejdź do oryginału</a>
                </div>`;
            return;
        }
    }

    // --- LOGIKA DIAGNOSTY ---
    const btns = document.querySelectorAll('.diag-btn');
    const svgContainer = document.getElementById('diag-svg');
    const resultContent = document.getElementById('diag-result-content');

    const dataStates = {
        'normal': {
            class: 'state-normal',
            badge: '<span class="diag-badge badge-ok">Stan Poprawny</span>',
            title: 'Wszystko działa idealnie',
            desc: 'Przepływ jest stabilny i zgadza się z wartościami z projektu. Pompa obiegowa tłoczy czynnik grzewczy bez zakłóceń, a w pętli nie ma korków gazowych. Podłoga powinna nagrzewać się równomiernie.'
        },
        'jump': {
            class: 'state-jump',
            badge: '<span class="diag-badge badge-warn">Wymaga uwagi</span>',
            title: 'Obecność powietrza w instalacji',
            desc: 'Pływak "skacze", ponieważ strumień wody jest przerywany przez pęcherzyki gazu. Należy przeprowadzić <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/" class="diag-link">procedurę odpowietrzania pętli</a>. Ignorowanie tego stanu prowadzi do zimnych stref i głośnej pracy układu.'
        },
        'zero-one': {
            class: 'state-zero',
            badge: '<span class="diag-badge badge-err">Awaria pętli</span>',
            title: 'Brak przepływu w jednym obwodzie',
            desc: 'Zawór jest otwarty, ale pływak leży na dnie. Oznacza to całkowite zablokowanie pętli przez zanieczyszczenia (szlam, kamień kotłowy), zaciśnięcie rury pod wylewką, lub utworzenie się potężnego korka powietrznego, którego pompa nie potrafi przepchnąć.'
        },
        'zero-all': {
            class: 'state-zero',
            badge: '<span class="diag-badge badge-err">Awaria Systemowa</span>',
            title: 'Brak przepływu na rozdzielaczu',
            desc: 'Jeśli wszystkie rotametry na belce spadły do zera, problem jest globalny. Przyczyną jest najczęściej awaria pompy obiegowej, brak zasilania elektrycznego sterownika, lub zablokowanie głównego zaworu mieszającego przed rozdzielaczem.'
        }
    };

    btns.forEach(btn => {
        btn.addEventListener('click', () => {
            // Reset buttons
            btns.forEach(b => b.classList.remove('active'));
            btn.classList.add('active');

            const stateKey = btn.getAttribute('data-state');
            const stateData = dataStates[stateKey];

            // Update SVG CSS Class
            svgContainer.className = 'diag-svg-container ' + stateData.class;

            // Update Text with slight fade effect
            resultContent.style.opacity = '0';
            setTimeout(() => {
                resultContent.innerHTML = `
                    ${stateData.badge}
                    <hp>${stateData.title}</p>
                    <p>${stateData.desc}</p>
                `;
                resultContent.style.opacity = '1';
                resultContent.style.transition = 'opacity 0.3s ease';
            }, 150);
        });
    });
});
</script>



<style>
:root {
    --param-primary: #0f172a;
    --param-panel: #ffffff;
    --param-accent: #0ea5e9;
    --param-accent-dark: #0284c7;
    --param-text: #334155;
    --param-muted: #64748b;
    --param-border: #e2e8f0;
    --param-bg: #f8fafc;
    --param-danger: #ef4444;
    --param-warning: #f59e0b;
    --param-success: #10b981;
}

.param-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--param-text);
    line-height: 1.6;
}

.param-header-box {
    background: #ffffff;
    border: 1px solid var(--param-border);
    border-radius: 24px;
    padding: 40px 50px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
    margin-bottom: 40px;
}

.param-header-box h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--param-primary);
    margin-bottom: 20px;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.param-header-box p {
    font-size: 16px;
    color: var(--param-text);
    margin-bottom: 30px;
}

/* ZAMIAST TABELI - GRID PARAMETRÓW */
.param-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.param-card {
    background: var(--param-bg);
    border: 1px solid var(--param-border);
    border-radius: 16px;
    padding: 20px;
    transition: all 0.3s ease;
}

.param-card:hover {
    background: #ffffff;
    border-color: var(--param-accent);
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.1);
    transform: translateY(-3px);
}

.param-icon {
    font-size: 24px;
    margin-bottom: 10px;
    display: block;
}

.param-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--param-muted);
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.param-value {
    font-size: 15px;
    font-weight: 700;
    color: var(--param-primary);
    margin-bottom: 5px;
}

.param-desc {
    font-size: 13px;
    color: var(--param-text);
    line-height: 1.5;
}

/* INTERAKTYWNY ANALIZATOR PRZEPŁYWU */
.flow-analyzer {
    background: #ffffff;
    border: 1px solid var(--param-border);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.08);
}

.flow-header {
    background: linear-gradient(to right, #f8fafc, #ffffff);
    padding: 30px 40px;
    border-bottom: 1px solid var(--param-border);
}

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

.flow-header p {
    font-size: 15px;
    margin: 0;
    color: var(--param-muted);
}

.flow-workspace {
    display: flex;
    padding: 40px;
    gap: 40px;
    align-items: center;
}

.flow-controls {
    flex: 1;
}

/* Custom Slider */
.flow-slider-box {
    background: var(--param-bg);
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--param-border);
    margin-bottom: 25px;
}

.flow-val-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 15px;
}

.flow-val-label {
    font-size: 14px;
    font-weight: 800;
    color: var(--param-primary);
}

.flow-val-current {
    font-size: 24px;
    font-weight: 900;
    color: var(--param-accent-dark);
    font-family: monospace;
}

.slider-styled {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}
.slider-styled:focus { outline: none; }
.slider-styled::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    background: linear-gradient(to right, #fca5a5, #86efac, #fca5a5);
    border-radius: 4px;
    border: 1px solid #cbd5e1;
}
.slider-styled::-webkit-slider-thumb {
    height: 28px;
    width: 28px;
    border-radius: 50%;
    background: #ffffff;
    border: 4px solid var(--param-primary);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -11px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    transition: transform 0.1s;
}
.slider-styled::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

/* Dynamiczny status */
.flow-status-card {
    padding: 20px;
    border-radius: 16px;
    border: 2px solid transparent;
    transition: 0.3s ease;
}

.status-low { background: #fef2f2; border-color: #fecaca; }
.status-opt { background: #f0fdf4; border-color: #bbf7d0; }
.status-high { background: #fffbeb; border-color: #fde68a; }

.status-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.status-low .status-badge { background: #fee2e2; color: #991b1b; }
.status-opt .status-badge { background: #dcfce7; color: #166534; }
.status-high .status-badge { background: #fef3c7; color: #92400e; }

.status-title {
    font-size: 18px;
    font-weight: 900;
    margin-bottom: 8px;
    color: var(--param-primary);
}

.status-desc {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.status-desc a {
    color: inherit;
    text-decoration: underline;
    font-weight: bold;
}

/* WIZUALIZACJA RURY SVG */
.flow-visual {
    width: 200px;
    height: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--param-bg);
    border-radius: 50%;
    border: 1px solid var(--param-border);
    box-shadow: inset 0 4px 10px rgba(0,0,0,0.03);
    position: relative;
}

.pipe-svg { width: 140px; height: 140px; overflow: visible; }
.pipe-body { fill: none; stroke: #94a3b8; stroke-width: 8; stroke-linecap: round; }
.pipe-water { fill: none; stroke: var(--param-accent); stroke-width: 14; stroke-linecap: round; transition: stroke-dasharray 0.3s; }

/* Animacje wody */
.anim-slow { stroke-dasharray: 20 40; animation: flowAnim 3s linear infinite; stroke: #60a5fa; }
.anim-optimal { stroke-dasharray: 100 0; stroke: #34d399; }
.anim-fast { stroke-dasharray: 10 10; animation: flowAnim 0.3s linear infinite; stroke: #f87171; }

@keyframes flowAnim {
    to { stroke-dashoffset: -100; }
}

/* Bąbel w rurze (dla zbyt niskiego) */
.air-bubble { fill: #ffffff; stroke: #cbd5e1; stroke-width: 2; opacity: 0; transition: 0.3s; }
.show-bubble { opacity: 1; }

/* Fale dźwiękowe (dla zbyt wysokiego) */
.sound-wave { fill: none; stroke: #94a3b8; stroke-width: 3; stroke-linecap: round; opacity: 0; transition: 0.3s; }
.show-noise { opacity: 1; animation: noisePulse 0.5s alternate infinite; }

@keyframes noisePulse {
    from { transform: scale(0.9); stroke: #94a3b8; }
    to { transform: scale(1.1); stroke: #ef4444; }
}

@media (max-width: 900px) {
    .param-grid { grid-template-columns: repeat(2, 1fr); }
    .flow-workspace { flex-direction: column-reverse; padding: 25px; }
    .param-header-box { padding: 30px 25px; }
}
@media (max-width: 600px) {
    .param-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#parametry",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Parametry rotametru i optymalne wartości przepływu",
    "description": "Zestawienie techniczne rotametrów oraz interaktywny symulator skutków błędnego przepływu. Dowiedz się, dlaczego zły przepływ powoduje szumy i zapowietrzenie instalacji.",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-techniczny",
    "name": "Specyfikacja techniczna i zakresy robocze przepływomierzy",
    "description": "Parametry operacyjne rotametrów w systemach płaszczyznowych, w tym ciśnienie (do 6 bar), dokładność (±5%) oraz zjawiska fizyczne związane z brakiem złotego środka.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rotametr specyfikacja",
      "optymalny przepływ podłogówki",
      "szum w instalacji podłogowej",
      "parametry rotametrów",
      "prawidłowa regulacja ogrzewania"
    ],
    "measurementTechnique": "Określenie parametrów na podstawie wytycznych dla systemów niskotemperaturowych, wskaźniki podane w litrach na minutę (L/min).",
    "mainEntity": {
      "@type": "Thing",
      "name": "Właściwości operacyjne wskaźnika przepływu"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-przeplyw",
    "name": "Analizator Skutków Przepływu Hydraulicznego",
    "description": "Kalkulator webowy ilustrujący wpływ zbyt niskiego (0.1-0.4 L/min) lub zbyt wysokiego (>1.5 L/min) natężenia przepływu wody na kulturę pracy pętli podłogowej.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, SVG Support"
  }
]
</script>

<div class="param-module" id="app-flow-analyzer">
    
    <div class="param-header-box">
        <h2>Rotametry w praktyce: Zestawienie kluczowych parametrów</h2>
        <p>Zrozumienie, czym fizycznie dysponujesz na swoim rozdzielaczu, to pierwszy krok do sukcesu. Poniżej zebrałem 6 najważniejszych aspektów technicznych wskaźników przepływu w kontekście bezpiecznej i długotrwałej pracy systemu ogrzewania podłogowego.</p>
        
        <div class="param-grid">
            <div class="param-card">
                <span class="param-icon">📏</span>
                <div class="param-title">Zakres pomiarowy</div>
                <div class="param-value">0,5 &#8211; 3,0 l/min</div>
                <div class="param-desc">Dobiera się go ściśle do projektowanych przepływów. Wyższe wartości są rzadkością w podłogówce domowej.</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">⚖️</span>
                <div class="param-title">Jednostka i Dokładność</div>
                <div class="param-value">Litry na minutę / ±5%</div>
                <div class="param-desc">Czasem podawane w m³/h. W warunkach domowych błąd rzędu 5% jest pomijalny przy finalnej regulacji.</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">💥</span>
                <div class="param-title">Ciśnienie robocze</div>
                <div class="param-value">Standardowo 6 bar</div>
                <div class="param-desc">Należy sprawdzić ich specyfikację, jeśli instalacja przechodzi rygorystyczne próby szczelności (często 1,5x wyższe ciśnienie).</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">🌡️</span>
                <div class="param-title">Temperatura robocza</div>
                <div class="param-value">Do 90°C &#8211; 110°C</div>
                <div class="param-desc">Wartość w pełni wystarczająca i bardzo bezpieczna, zważywszy, że podłogówka to system niskotemperaturowy.</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">🔧</span>
                <div class="param-title">Miejsce montażu</div>
                <div class="param-value">Wyłącznie Powrót</div>
                <div class="param-desc">Montaż na zasilaniu daje <strong>błędne odczyty</strong> ze względu na zmienną gęstość wody podgrzanej przez kocioł.</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">🧹</span>
                <div class="param-title">Konserwacja</div>
                <div class="param-desc" style="margin-top:5px;">Są praktycznie bezobsługowe. Jednak w przypadku ciężkiego zabrudzenia i utknięcia pływaka, mechanizm można zdemontować i wyczyścić.</div>
            </div>
        </div>
    </div>

    <div class="flow-analyzer">
        <div class="flow-header">
            <h3>Optymalne wartości – znajdź &#8222;złoty środek&#8221;</h3>
            <p>Prawidłowe ustawienie zależy od <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">długości pętli</a> oraz zapotrzebowania, ale jakie są skutki odchyleń od normy? Przesuń suwak i sprawdź.</p>
        </div>

        <div class="flow-workspace">
            <div class="flow-controls">
                
                <div class="flow-slider-box">
                    <div class="flow-val-row">
                        <div class="flow-val-label">Natężenie przepływu:</div>
                        <div class="flow-val-current" id="flow-display">1.2 l/min</div>
                    </div>
                    <input type="range" class="slider-styled" id="flow-slider" min="0.1" max="3.0" step="0.1" value="1.2">
                </div>

                <div class="flow-status-card status-opt" id="flow-status-card">
                    <span class="status-badge" id="flow-badge">Optymalnie</span>
                    <div class="status-title" id="flow-title">Cisza i wysoka wydajność</div>
                    <p class="status-desc" id="flow-desc">W typowych instalacjach mieszkaniowych przepływ wynosi od 0,5 do 1,5 l/min. To złoty środek: gwarantuje idealny transfer ciepła oraz <strong>energooszczędną</strong> pracę układu pompowego bez zbędnych przeciążeń.</p>
                </div>

            </div>

            <div class="flow-visual">
                <svg class="pipe-svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
                    <path class="pipe-body" d="M 10 90 Q 50 90, 50 50 T 90 10" />
                    <path id="svg-water-flow" class="pipe-water anim-optimal" d="M 10 90 Q 50 90, 50 50 T 90 10" />
                    
                    <circle id="svg-bubble" class="air-bubble" cx="50" cy="50" r="8" />
                    
                    <g id="svg-noise" class="sound-wave">
                        <path d="M 75 35 Q 85 25, 95 35" />
                        <path d="M 65 25 Q 80 10, 95 20" />
                    </g>
                </svg>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- DOMAIN LOCK (Brak nagłówków H2/H3) ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-flow-analyzer');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #fff; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-weight: 900; font-size: 20px; margin-bottom: 10px; color: #38bdf8;">Zawartość Autorska</div>
                    <div style="font-size: 14px; color: #cbd5e1; margin-bottom: 20px;">Narzędzie "Analizator Przepływu" jest własnością intelektualną serwisu Projekt-Ogrzewania.pl.</div>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>`;
            return;
        }
    }

    // --- LOGIKA ANALIZATORA ---
    const slider = document.getElementById('flow-slider');
    const display = document.getElementById('flow-display');
    const card = document.getElementById('flow-status-card');
    const badge = document.getElementById('flow-badge');
    const title = document.getElementById('flow-title');
    const desc = document.getElementById('flow-desc');
    
    const svgWater = document.getElementById('svg-water-flow');
    const svgBubble = document.getElementById('svg-bubble');
    const svgNoise = document.getElementById('svg-noise');

    function updateFlowApp() {
        const val = parseFloat(slider.value);
        display.textContent = val.toFixed(1) + ' l/min';

        if (val < 0.5) {
            // ZBYT NISKI
            card.className = 'flow-status-card status-low';
            badge.textContent = 'Zbyt Niski';
            title.textContent = 'Ryzyko zimnych placów i zapowietrzenia';
            desc.innerHTML = 'Gdy strumień wody jest tak słaby, nie ma siły "wypchnąć" gazów uwięzionych w instalacji. Skutkuje to tworzeniem się korków powietrznych, utratą skutecznego transferu ciepła i <a href="https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/">brakiem odpowiedniego zładu wody</a> w sekcji.';
            
            svgWater.className.baseVal = 'pipe-water anim-slow';
            svgBubble.classList.add('show-bubble');
            svgNoise.classList.remove('show-noise');
        } 
        else if (val >= 0.5 && val <= 1.5) {
            // OPTYMALNIE
            card.className = 'flow-status-card status-opt';
            badge.textContent = 'Złoty środek';
            title.textContent = 'Cisza i wysoka wydajność';
            desc.innerHTML = 'W typowych instalacjach przepływ od 0,5 do 1,5 l/min gwarantuje idealny transfer ciepła oraz <strong><a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-energooszczedne/">energooszczędną</a></strong> pracę pompy. System skutecznie uwalnia powietrze i pozostaje bezgłośny.';
            
            svgWater.className.baseVal = 'pipe-water anim-optimal';
            svgBubble.classList.remove('show-bubble');
            svgNoise.classList.remove('show-noise');
        } 
        else {
            // ZBYT WYSOKI
            card.className = 'flow-status-card status-high';
            badge.textContent = 'Zbyt Wysoki';
            title.textContent = 'Szum hydrauliczny i przeciążenie';
            desc.innerHTML = 'Nadmierny przepływ wywołuje uciążliwy <strong>szum hydrauliczny</strong> w rozdzielaczu i rurach. Drastycznie zwiększa się opór, co niepotrzebnie obciąża pompę obiegową i zużywa prąd – bez realnej poprawy w komforcie cieplnym.';
            
            svgWater.className.baseVal = 'pipe-water anim-fast';
            svgBubble.classList.remove('show-bubble');
            svgNoise.classList.add('show-noise');
        }
    }

    slider.addEventListener('input', updateFlowApp);
    // Init na starcie
    updateFlowApp();
});
</script>



<style>
:root {
    --prj-primary: #0f172a;
    --prj-panel: #ffffff;
    --prj-accent: #0284c7;
    --prj-accent-hover: #0369a1;
    --prj-cta: #ea580c; /* Kolor akcji dla sprzedaży */
    --prj-cta-hover: #c2410c;
    --prj-text: #334155;
    --prj-muted: #64748b;
    --prj-border: #e2e8f0;
    --prj-bg-light: #f8fafc;
    --prj-success: #10b981;
}

.prj-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--prj-text);
    line-height: 1.6;
}

/* NAGŁÓWEK I WSTĘP */
.prj-header {
    background: #ffffff;
    border: 1px solid var(--prj-border);
    border-radius: 24px;
    padding: 40px 50px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}

.prj-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--prj-primary);
    margin-bottom: 20px;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.prj-header p {
    font-size: 17px;
    margin-bottom: 0;
}

.prj-header a {
    color: var(--prj-accent);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.prj-highlight {
    background: #fffbeb;
    border-left: 4px solid #f59e0b;
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    margin-top: 20px;
    font-size: 15px;
    color: #92400e;
}

/* INTERAKTYWNA APLIKACJA */
.prj-app {
    background: var(--prj-bg-light);
    border: 1px solid var(--prj-border);
    border-radius: 24px;
    padding: 40px 50px;
    margin-bottom: 30px;
    display: flex;
    gap: 40px;
    align-items: center;
}

.prj-controls {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.prj-app-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--prj-primary);
    margin-bottom: 5px;
}

.prj-app-desc {
    font-size: 14px;
    color: var(--prj-muted);
    margin-bottom: 10px;
}

/* Przełączniki (Tabs) */
.prj-switch-group {
    background: #ffffff;
    border: 1px solid var(--prj-border);
    border-radius: 12px;
    padding: 5px;
    display: flex;
    gap: 5px;
}

.prj-switch-btn {
    flex: 1;
    background: transparent;
    border: none;
    padding: 10px 15px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--prj-muted);
    cursor: pointer;
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.prj-switch-btn.active {
    background: var(--prj-primary);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.15);
}

/* Suwak */
.prj-slider-wrap {
    background: #ffffff;
    border: 1px solid var(--prj-border);
    padding: 20px;
    border-radius: 16px;
}

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

.prj-slider {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}
.prj-slider:focus { outline: none; }
.prj-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
}
.prj-slider::-webkit-slider-thumb {
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background: var(--prj-accent);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -8px;
    border: 3px solid #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: 0.1s;
}
.prj-slider::-webkit-slider-thumb:active { transform: scale(1.15); }

/* WIZUALIZACJA WYNIKU SVG */
.prj-visual {
    width: 220px;
    background: #ffffff;
    border: 1px solid var(--prj-border);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

.prj-gauge {
    width: 140px;
    height: 140px;
    position: relative;
    margin-bottom: 20px;
}

.svg-gauge-bg { fill: none; stroke: #f1f5f9; stroke-width: 12; stroke-linecap: round; }
.svg-gauge-val { fill: none; stroke: var(--prj-accent); stroke-width: 12; stroke-linecap: round; transition: stroke-dasharray 0.5s ease-out; stroke-dasharray: 0 251; }

.prj-gauge-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.prj-gauge-num {
    font-size: 26px;
    font-weight: 900;
    color: var(--prj-primary);
    line-height: 1;
}

.prj-gauge-unit {
    font-size: 12px;
    font-weight: 700;
    color: var(--prj-muted);
}

/* POTĘŻNE CTA */
.prj-cta-box {
    background: linear-gradient(135deg, var(--prj-primary), #1e293b);
    border-radius: 24px;
    padding: 45px 50px;
    text-align: center;
    color: #ffffff;
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.4);
}

.prj-cta-box::before {
    content: '';
    position: absolute;
    top: -50px;
    left: -50px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(234, 88, 12, 0.2) 0%, transparent 70%);
    border-radius: 50%;
}

.prj-cta-title {
    font-size: 26px;
    font-weight: 900;
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
}

.prj-cta-desc {
    font-size: 16px;
    color: #cbd5e1;
    margin-bottom: 30px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
}

.prj-btn-main {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--prj-cta);
    color: #ffffff;
    text-decoration: none;
    padding: 16px 36px;
    border-radius: 14px;
    font-size: 17px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s;
    position: relative;
    z-index: 1;
    box-shadow: 0 8px 20px rgba(234, 88, 12, 0.3);
}

.prj-btn-main:hover {
    background: var(--prj-cta-hover);
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(234, 88, 12, 0.4);
}

@media (max-width: 800px) {
    .prj-app { flex-direction: column; padding: 30px 20px; }
    .prj-visual { width: 100%; }
    .prj-header, .prj-cta-box { padding: 30px 25px; }
    .prj-switch-group { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#projekt-ozc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Projekt ogrzewania podłogowego a dobór przepływów – gdzie tkwi klucz?",
    "description": "Zobacz, dlaczego regulacja rotametrów bez projektu OZC to strzał w ciemno. Interaktywny symulator wpływu izolacji, rodzaju podłogi i temperatury na przepływ wody.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-projekt",
    "name": "Zmienne obliczeniowe dla równoważenia hydraulicznego",
    "description": "Dane wejściowe niezbędne do wyliczenia przepływów rotametrów, obejmujące OZC (straty ciepła budynku), opór cieplny okładzin podłogowych oraz temperaturę docelową pomieszczeń.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego",
      "dobór przepływów",
      "obliczenia OZC",
      "regulacja rotametrów ogrzewania podłogowego",
      "zapotrzebowanie na ciepło kalkulator"
    ],
    "measurementTechnique": "Przeliczenie oporów i strat cieplnych na wymagany przepływ masowy czynnika (l/min) dla obiegów.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Parametry projektowe instalacji HVAC"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-projekt",
    "name": "Symulator Zmiennych Projektowych (OZC vs Przepływ)",
    "description": "Narzędzie pokazujące, jak zmiana przeznaczenia pokoju (temp.), materiału podłogi (np. panele vs płytki) oraz izolacji zmienia wynikowy strumień czynnika grzewczego na rotametrze.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, SVG Support"
  }
]
</script>

<div class="prj-module" id="app-project-flow">

    <div class="prj-header">
        <h2>Projekt podłogówki a rotametry – gdzie tkwi klucz?</h2>
        <p>Rotametr jest jedynie finalnym narzędziem. Bez profesjonalnego projektu instalacji opartego na <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeniach OZC (Projektowe Obciążenie Cieplne)</a>, regulacja na rozdzielaczu to dosłownie <strong>&#8222;strzał na oślep&#8221;</strong>.</p>
        
        <div class="prj-highlight">
            Bez projektu ustawienie rotametrów jest arbitralne. Gwarantuje to przegrzewanie jednych pomieszczeń, niedogrzanie innych, a w konsekwencji – wysokie rachunki za prąd/gaz i stały dyskomfort.
        </div>
    </div>

    <div class="prj-app">
        <div class="prj-controls">
            <div class="prj-app-title">Kalkulator Zmiennych Projektowych</div>
            <div class="prj-app-desc">Sprawdź, jak różne parametry w Twoim domu wpływają na to, co instalator musi ostatecznie ustawić na skali rotametru.</div>
            
            <div>
                <div style="font-size:14px; font-weight:800; margin-bottom:8px;">1. Wymagana temperatura (Pomieszczenie)</div>
                <div class="prj-switch-group">
                    <button class="prj-switch-btn active" data-temp="20">Sypialnia (20°C)</button>
                    <button class="prj-switch-btn" data-temp="22">Salon (22°C)</button>
                    <button class="prj-switch-btn" data-temp="24">Łazienka (24°C)</button>
                </div>
            </div>

            <div>
                <div style="font-size:14px; font-weight:800; margin-bottom:8px;">2. Rodzaj wykończenia podłogi</div>
                <div class="prj-switch-group">
                    <button class="prj-switch-btn active" data-floor="1.0">Płytki / Gres (Dobry przewodnik)</button>
                    <button class="prj-switch-btn" data-floor="1.4">Panele / Drewno (Izolator)</button>
                </div>
            </div>

            <div class="prj-slider-wrap">
                <div class="prj-slider-header">
                    <span>3. Straty ciepła budynku (OZC)</span>
                    <span id="prj-heat-val" style="color:var(--prj-accent);">50 W/m² (Dobra izolacja)</span>
                </div>
                <input type="range" class="prj-slider" id="prj-heat-slider" min="30" max="100" step="5" value="50">
            </div>
        </div>

        <div class="prj-visual">
            <div style="font-size:13px; font-weight:800; color:#64748b; margin-bottom:15px; text-transform:uppercase;">Wymagany Przepływ</div>
            
            <div class="prj-gauge">
                <svg viewBox="0 0 100 100">
                    <path class="svg-gauge-bg" d="M 20 80 A 40 40 0 1 1 80 80" />
                    <path id="svg-gauge-fill" class="svg-gauge-val" d="M 20 80 A 40 40 0 1 1 80 80" style="stroke-dasharray: 0 251;" />
                </svg>
                <div class="prj-gauge-text">
                    <div class="prj-gauge-num" id="prj-flow-result">1.2</div>
                    <div class="prj-gauge-unit">L/MIN</div>
                </div>
            </div>
            
            <div style="font-size:12px; text-align:center; color:#94a3b8; line-height:1.4;">Tę wartość projektant wylicza z <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" style="color:inherit;">długości pętli</a> i powyższych danych.</div>
        </div>
    </div>

    <div class="prj-cta-box">
        <div class="prj-cta-title">Nie zgaduj. Zbuduj system oparty na inżynierii.</div>
        <div class="prj-cta-desc">Zły przepływ to szumy, chłód i koszty. Zamów profesjonalny projekt instalacji ogrzewania podłogowego. Otrzymasz gotowe nastawy rotametrów dla każdego pomieszczenia, idealny rozstaw rur i gwarancję komfortu cieplnego.</div>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="prj-btn-main">
            📐 ZAMÓW PROJEKT PODŁOGÓWKI
        </a>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- DOMAIN LOCK ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-project-flow');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #fff; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-weight: 900; font-size: 20px; margin-bottom: 10px; color: #38bdf8;">Treść Chroniona</div>
                    <div style="font-size: 14px; color: #cbd5e1;">Narzędzie Kalkulatora Projektowego stanowi własność serwisu Projekt-Ogrzewania.pl.</div>
                </div>`;
            return;
        }
    }

    // --- LOGIKA KALKULATORA ZMIENNYCH ---
    let currentTemp = 20;
    let currentFloor = 1.0;
    const slider = document.getElementById('prj-heat-slider');
    const heatValDisplay = document.getElementById('prj-heat-val');
    const flowResultDisplay = document.getElementById('prj-flow-result');
    const gaugeFill = document.getElementById('svg-gauge-fill');

    // Przyciski Temperatury
    const tempBtns = document.querySelectorAll('button[data-temp]');
    tempBtns.forEach(btn => {
        btn.addEventListener('click', (e) => {
            tempBtns.forEach(b => b.classList.remove('active'));
            e.currentTarget.classList.add('active');
            currentTemp = parseFloat(e.currentTarget.getAttribute('data-temp'));
            calculateFlow();
        });
    });

    // Przyciski Podłogi
    const floorBtns = document.querySelectorAll('button[data-floor]');
    floorBtns.forEach(btn => {
        btn.addEventListener('click', (e) => {
            floorBtns.forEach(b => b.classList.remove('active'));
            e.currentTarget.classList.add('active');
            currentFloor = parseFloat(e.currentTarget.getAttribute('data-floor'));
            calculateFlow();
        });
    });

    // Suwak Strat Ciepła
    slider.addEventListener('input', (e) => {
        const val = e.target.value;
        let desc = "";
        if(val < 50) desc = "(Dom Pasywny)";
        else if(val < 75) desc = "(Standard WT2021)";
        else desc = "(Słaba izolacja)";
        
        heatValDisplay.textContent = `${val} W/m² ${desc}`;
        calculateFlow();
    });

    function calculateFlow() {
        const heatLoss = parseFloat(slider.value);
        
        // BARDZO UPROSZCZONY WZÓR do celów demonstracyjnych aplikacji
        // Baza: 50W/m2 przy temp 20C na płytkach = ok 1.0 l/min dla pętli referencyjnej
        // Im wyższa temp oczekiwana, tym wyższy przepływ
        const tempFactor = 1 + ((currentTemp - 20) * 0.15); 
        
        // Im większe straty ciepła, tym wyższy przepływ
        const heatFactor = heatLoss / 50;
        
        // Obliczenie l/min
        let flow = 1.0 * heatFactor * tempFactor * currentFloor;
        
        // Ograniczenia dla realizmu skali (0.5 do 3.0)
        if(flow < 0.5) flow = 0.5;
        if(flow > 3.0) flow = 3.0;

        flowResultDisplay.textContent = flow.toFixed(1);

        // Aktualizacja Gauge SVG
        // Długość łuku (arc length) to około 188px.
        // Chcemy mapować wartość 0.5 - 3.0 na dasharray 0 do 188.
        const percent = (flow - 0.5) / 2.5; // od 0 do 1
        const dashVal = percent * 188;
        gaugeFill.style.strokeDasharray = `${dashVal} 251`;
        
        // Zmiana koloru ostrzegawczego przy krytycznych wartościach
        if(flow > 2.5) {
            gaugeFill.style.stroke = '#ef4444'; // Czerwony (za dużo)
        } else {
            gaugeFill.style.stroke = 'var(--prj-accent)'; // Niebieski (ok)
        }
    }

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



<style>
:root {
    --tip-primary: #0f172a;
    --tip-accent: #0284c7;
    --tip-accent-light: #e0f2fe;
    --tip-danger: #ef4444;
    --tip-danger-light: #fee2e2;
    --tip-success: #10b981;
    --tip-success-light: #d1fae5;
    --tip-bg: #f8fafc;
    --tip-border: #e2e8f0;
}

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

.expert-tip-wrapper h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--tip-primary);
    margin: 0 0 25px 0;
    text-align: center;
    letter-spacing: -0.5px;
}

.expert-tip-container {
    background: #ffffff;
    border-radius: 24px;
    padding: 35px 40px;
    border: 1px solid var(--tip-border);
    box-shadow: 0 15px 35px -10px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Interaktywny przełącznik Mit / Fakt */
.tip-switch-wrap {
    display: flex;
    background: var(--tip-bg);
    border: 1px solid var(--tip-border);
    border-radius: 12px;
    padding: 6px;
    gap: 6px;
    align-self: center;
    width: 100%;
    max-width: 500px;
}

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

.tip-switch-btn:hover {
    color: var(--tip-primary);
}

.tip-switch-btn.active[data-type="myth"] {
    background: var(--tip-danger);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.2);
}

.tip-switch-btn.active[data-type="fact"] {
    background: var(--tip-accent);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.2);
}

/* Sekcja cytatu i zdjęcia */
.tip-content-area {
    display: flex;
    gap: 30px;
    align-items: center;
    background: var(--tip-bg);
    border-radius: 20px;
    padding: 30px;
    border-left: 6px solid var(--tip-accent);
    transition: all 0.4s ease;
}

.tip-content-area.state-myth {
    border-left-color: var(--tip-danger);
    background: var(--tip-danger-light);
}

.tip-photo-wrap {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    position: relative;
}

.tip-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 4px solid #ffffff;
    box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}

.tip-icon-badge {
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    transition: 0.3s;
}

.state-myth .tip-icon-badge { color: var(--tip-danger); }
.state-fact .tip-icon-badge { color: var(--tip-accent); }

.tip-text-body {
    flex-grow: 1;
}

.tip-label {
    display: block;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    transition: 0.3s;
}

.state-myth .tip-label { color: var(--tip-danger); }
.state-fact .tip-label { color: var(--tip-accent); }

.tip-quote {
    font-size: 17px;
    line-height: 1.7;
    color: var(--tip-primary);
    font-style: italic;
    margin: 0 0 15px 0;
    position: relative;
}

.tip-quote a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.tip-quote a:hover {
    color: var(--tip-accent);
}

.tip-signature {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #475569;
}

@media (max-width: 768px) {
    .expert-tip-container { padding: 25px 20px; }
    .tip-content-area { flex-direction: column; text-align: center; padding: 25px 20px; }
    .tip-photo-wrap { margin-bottom: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Robert Kucharski o prawidłowej regulacji wskaźników przepływu",
    "description": "Ekspert obala najczęstszy mit dotyczący rotametrów. Dowiedz się, dlaczego ustawianie przepływu 'po równo' niszczy komfort cieplny.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#cytat",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Wielu pseudofachowców kończy pracę mówiąc: 'ustawiłem panu wszystkie rotametry równo na 1.5 litra, będzie grzało'. To najgorsza z możliwych metod regulacji.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "Główny Projektant HVAC",
      "url": "https://projekt-ogrzewania.pl/"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-mity",
    "name": "Mity instalacyjne vs Prawda inżynierska: Regulacja przepływów",
    "description": "Analiza błędnych założeń empirycznych podczas ręcznego ustawiania rotametrów w stosunku do precyzyjnych obliczeń inżynierskich.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "regulacja rotametrów na oko",
      "najczęstsze błędy przy montażu ogrzewania podłogowego",
      "jak nie ustawiać podłogówki",
      "mity ogrzewanie podłogowe przepływ",
      "równe ustawienie rotametrów błąd"
    ],
    "measurementTechnique": "Weryfikacja wydajności instalacji skalibrowanej empirycznie (na oko) vs skalibrowanej zgodnie z wartościami obliczeniowymi OZC.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Najlepsze praktyki inżynierii instalacyjnej"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-ekspert",
    "name": "Interaktywny Demaskator Mitów Instalacyjnych",
    "description": "Mini-aplikacja edukacyjna pozwalająca na bezpośrednie skonfrontowanie popularnego mitu hydraulicznego z odpowiedzią inżyniera.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript"
  }
]
</script>

<div class="expert-tip-wrapper" id="app-expert-quote">
    <h2><span style="margin-right:10px">⚖️</span>Praktyka vs Inżynieria</h2>
    
    <div class="expert-tip-container">
        
        <div class="tip-switch-wrap">
            <button class="tip-switch-btn" data-type="myth" id="btn-myth">
                <span>❌</span> Częsty Mit
            </button>
            <button class="tip-switch-btn active" data-type="fact" id="btn-fact">
                <span>✅</span> Prawda Inżynierska
            </button>
        </div>

        <div class="tip-content-area state-fact" id="tip-content-box">
            <div class="tip-photo-wrap">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski ekspert HVAC" class="tip-photo" loading="lazy">
                <div class="tip-icon-badge" id="tip-icon">📐</div>
            </div>
            
            <div class="tip-text-body">
                <span class="tip-label" id="tip-label">Wskazówka od Głównego Projektanta</span>
                <p class="tip-quote" id="tip-quote-text">
                    &#8222;Rotametr to nie kran, który można odkręcić i zapomnieć. Prawidłowa regulacja polega na drastycznym tłumieniu przepływu w <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">krótkich pętlach</a> po to, aby sztucznie zmusić czynnik grzewczy do zasilenia dużego, wychłodzonego salonu. Ustawienie na podstawie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektu OZC</a> to jedyny sposób na to, by pompa obiegowa pracowała lekko i energooszczędnie.&#8221;
                </p>
                <span class="tip-signature">— Robert Kucharski, CEO Projekt-Ogrzewania.pl</span>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA (Bez H2/H3 w fallbacku) ---
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-expert-quote');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; border: 2px solid #dc2626; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: bold; margin-bottom: 10px;">Moduł autorski chroniony</div>
                    <p style="font-size: 15px; color: #7f1d1d;">Cytaty i interaktywne porady inżynierskie Roberta Kucharskiego są własnością serwisu Projekt-Ogrzewania.pl. Kopiowanie skryptów bez zgody jest zabronione.</p>
                </div>
            `;
            return;
        }
    }

    // --- LOGIKA PRZEŁĄCZNIKA MIT VS FAKT ---
    const btnMyth = document.getElementById('btn-myth');
    const btnFact = document.getElementById('btn-fact');
    const contentBox = document.getElementById('tip-content-box');
    const iconBadge = document.getElementById('tip-icon');
    const label = document.getElementById('tip-label');
    const quoteText = document.getElementById('tip-quote-text');

    const data = {
        myth: {
            class: 'state-myth',
            icon: '⚠️',
            label: 'Co mówi "Pan Józek" na budowie?',
            text: '"Słuchaj kierowniku, ja od 20 lat robię podłogówkę. Ustawiłem panu wszystkie rotametry na rozdzielaczu na równe 1.5 litra. Wszędzie popłynie tyle samo wody, więc w każdym pokoju będzie elegancko grzało, nie ma się co martwić." <br><br><strong><span style="font-size:14px;color:#ef4444;">(Poważny błąd grożący przegrzaniem małych pokoi i niedogrzaniem salonu!)</span></strong>'
        },
        fact: {
            class: 'state-fact',
            icon: '📐',
            label: 'Wskazówka od Głównego Projektanta',
            text: '"Rotametr to nie kran, który można odkręcić i zapomnieć. Prawidłowa regulacja polega na drastycznym tłumieniu przepływu w <a href=\\"https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/\\">krótkich pętlach</a> po to, aby sztucznie zmusić czynnik grzewczy do zasilenia dużego, wychłodzonego salonu. Ustawienie na podstawie <a href=\\"https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/\\">projektu OZC</a> to jedyny sposób na to, by pompa obiegowa pracowała lekko i energooszczędnie."'
        }
    };

    function switchState(type) {
        // Zmiana aktywnych przycisków
        btnMyth.classList.remove('active');
        btnFact.classList.remove('active');
        
        if (type === 'myth') btnMyth.classList.add('active');
        else btnFact.classList.add('active');

        // Animacja opacity dla miękkiego przejścia
        quoteText.style.opacity = 0;
        
        setTimeout(() => {
            contentBox.className = 'tip-content-area ' + data[type].class;
            iconBadge.textContent = data[type].icon;
            label.textContent = data[type].label;
            quoteText.innerHTML = data[type].text;
            
            quoteText.style.transition = 'opacity 0.3s ease';
            quoteText.style.opacity = 1;
        }, 200);
    }

    btnMyth.addEventListener('click', () => switchState('myth'));
    btnFact.addEventListener('click', () => switchState('fact'));
});
</script>



<style>
:root {
    --cs-primary: #0f172a;
    --cs-accent: #0ea5e9;
    --cs-accent-dark: #0284c7;
    --cs-wood: #b45309; 
    --cs-tiles: #0891b2; 
    --cs-bg: #f8fafc;
    --cs-border: #e2e8f0;
    --cs-text: #475569;
}

.case-study-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--cs-border);
    overflow: hidden;
    color: var(--cs-text);
}

/* ================= HEADER I METRYCZKA ================= */
.cs-header-wrapper {
    background: var(--cs-primary);
    color: #ffffff;
    padding: 40px 50px;
    position: relative;
    overflow: hidden;
}

.cs-header-wrapper::after {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.25) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
}

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

.cs-header-wrapper h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 25px 0;
    line-height: 1.3;
    color: #ffffff;
    position: relative;
    z-index: 2;
    letter-spacing: -0.5px;
}

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

.cs-stat-box {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 15px;
    border-radius: 12px;
    backdrop-filter: blur(4px);
}

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

.cs-stat-value {
    display: block;
    font-size: 16px;
    font-weight: 900;
    color: #ffffff;
}

/* ================= OPIS WYZWANIA ================= */
.cs-content-section {
    padding: 40px 50px 30px 50px;
    background: #ffffff;
}

.cs-lead-text {
    font-size: 17px;
    line-height: 1.8;
    color: var(--cs-text);
    margin: 0 0 25px 0;
}

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

.cs-author-box {
    background: #f0f9ff;
    border-left: 4px solid var(--cs-accent);
    padding: 20px;
    border-radius: 0 16px 16px 0;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.cs-author-photo {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.2);
    flex-shrink: 0;
}

.cs-author-box p {
    margin: 0;
    font-size: 15px;
    color: #0f172a;
    line-height: 1.6;
}

.cs-author-box a {
    color: var(--cs-accent-dark);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: 0.2s;
}

.cs-author-box a:hover {
    color: #0369a1;
}

/* ================= INTERAKTYWNE WYZWANIE ================= */
.cs-interactive-section {
    padding: 0 50px 40px 50px;
}

.cs-interactive-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--cs-primary);
    margin-bottom: 20px;
}

.cs-split-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.cs-split-card {
    border-radius: 16px;
    padding: 25px;
    border: 2px solid var(--cs-border);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    background: #ffffff;
}

.cs-split-card:not(.active) {
    opacity: 0.6;
    transform: scale(0.98);
}

.cs-split-card:hover:not(.active) {
    opacity: 0.8;
}

.cs-split-card.wood.active {
    border-color: var(--cs-wood);
    background: #fffbeb;
    box-shadow: 0 10px 25px rgba(180, 83, 9, 0.1);
    opacity: 1;
    transform: scale(1);
}

.cs-split-card.tiles.active {
    border-color: var(--cs-tiles);
    background: #ecfeff;
    box-shadow: 0 10px 25px rgba(8, 145, 178, 0.1);
    opacity: 1;
    transform: scale(1);
}

.cs-card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

/* Elementy SVG */
.cs-svg-icon {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
}

.svg-floor { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.wood .svg-floor { stroke: var(--cs-wood); }
.tiles .svg-floor { stroke: var(--cs-tiles); }

.svg-heat-wave { fill: none; stroke-width: 2; stroke-linecap: round; opacity: 0; transition: 0.3s; }
.wood .svg-heat-wave { stroke: #d97706; }
.tiles .svg-heat-wave { stroke: #0ea5e9; }

.cs-split-card.active .svg-heat-wave {
    opacity: 1;
    animation: heatRise 2s infinite ease-in-out alternate;
}
.cs-split-card.active .svg-heat-wave:nth-child(2) { animation-delay: 0.5s; }
.cs-split-card.active .svg-heat-wave:nth-child(3) { animation-delay: 1s; }

@keyframes heatRise {
    0% { transform: translateY(5px); opacity: 0.3; }
    100% { transform: translateY(-5px); opacity: 1; }
}

.cs-card-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--cs-primary);
    margin: 0;
}

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

.cs-card-solution {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(0,0,0,0.1);
    font-size: 14px;
    line-height: 1.6;
    display: none;
}

.cs-split-card.wood .cs-card-solution { color: #78350f; }
.cs-split-card.tiles .cs-card-solution { color: #164e63; }

.cs-split-card.active .cs-card-solution {
    display: block;
    animation: csFadeIn 0.4s ease forwards;
}

.cs-solution-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 900;
    font-size: 12px;
    margin-bottom: 8px;
    color: #ffffff;
}

.wood .cs-solution-badge { background: var(--cs-wood); }
.tiles .cs-solution-badge { background: var(--cs-tiles); }

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

@media (max-width: 800px) {
    .cs-header-wrapper { padding: 35px 25px; }
    .cs-stats-grid { grid-template-columns: 1fr 1fr; gap: 10px;}
    .cs-content-section { padding: 30px 25px 20px 25px; }
    .cs-author-box { flex-direction: column; text-align: center; }
    .cs-interactive-section { padding: 0 25px 30px 25px; }
    .cs-split-container { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Studium Przypadku: Skutki braku regulacji rotametrów",
    "description": "Zobacz na przykładzie z życia wziętym, dlaczego pozostawienie rotametrów w ustawieniu fabrycznym prowadzi do niedogrzania salonu i przegrzania łazienki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-case-study",
    "name": "Parametry hydrauliczne z realizacji - Dom Marka",
    "description": "Zestawienie błędnych i poprawnych nastaw przepływu (l/min) dla posadzek o skrajnie różnym oporze cieplnym (drewno vs płytki).",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Przepływ Salon (Drewno)",
        "value": "Wymagane zdławienie do 2.2 l/min",
        "description": "Zwiększenie przepływu ze względu na wysoki opór cieplny deski barlineckiej."
      },
      {
        "@type": "PropertyValue",
        "name": "Przepływ Łazienka (Gres)",
        "value": "Wymagane zdławienie do 0.8 l/min",
        "description": "Mocne przykręcenie rotametru w celu zapobieżenia kradzieży przepływu z dłuższych pętli."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-case-study",
    "name": "Panel Analizy Realizacji: Błędy regulacji",
    "description": "Interaktywny moduł edukacyjny typu Split-Card prezentujący fizykę zachowania się posadzki w zależności od nastaw na wskaźnikach przepływu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, SVG"
  }
]
</script>

<div class="case-study-module" id="app-case-study-rotameter">

    <div class="cs-header-wrapper">
        <div class="cs-badge">🔍 Studium Przypadku</div>
        <h2>Skutki braku regulacji przepływów na rozdzielaczu</h2>
        <div class="cs-stats-grid">
            <div class="cs-stat-box">
                <span class="cs-stat-label">Termin weryfikacji</span>
                <span class="cs-stat-value">Styczeń 2026</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Lokalizacja</span>
                <span class="cs-stat-value">Warszawa</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Problem główny</span>
                <span class="cs-stat-value">Zimny Salon</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Źródło błędu</span>
                <span class="cs-stat-value">Brak kryzowania</span>
            </div>
        </div>
    </div>

    <div class="cs-content-section">
        <p class="cs-lead-text">Zimą 2026 roku zgłosił się do nas Pan Artur, posiadający nowo wybudowany dom o powierzchni 150 m². Pomimo pracującej na 100% pompy ciepła, w domu panował całkowity <strong>rozstrój termiczny</strong>. Podczas audytu rozdzielacza problem okazał się banalny: instalator uruchomił układ i zostawił wszystkie rotametry fabrycznie odkręcone na maksimum.</p>
        
        <div class="cs-author-box">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski ekspert ogrzewania" class="cs-author-photo" loading="lazy">
            <p><strong><a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a>:</strong> &#8222;Fizyka to nie magia. Woda w instalacji jest leniwa. Ponieważ rotametry nie zostały wyregulowane, potężna ilość ciepła uciekała najkrótszą drogą do małej łazienki z płytkami, całkowicie głodząc hydraulicznie długą pętlę pod dębowym parkietem w salonie.&#8221;</p>
        </div>
    </div>

    <div class="cs-interactive-section">
        <div class="cs-interactive-title">Kliknij, aby zobaczyć inżynierskie rozwiązanie:</div>
        
        <div class="cs-split-container">
            
            <div class="cs-split-card wood active" id="cs-card-wood">
                <div class="cs-card-header">
                    <svg class="cs-svg-icon" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg">
                        <path class="svg-floor" d="M 5 40 L 45 40 M 15 40 L 15 45 M 35 40 L 35 45 M 5 32 L 45 32 M 25 32 L 25 40"/>
                        <path class="svg-heat-wave" d="M 15 25 Q 10 15 15 5"/>
                        <path class="svg-heat-wave" d="M 25 25 Q 20 15 25 5"/>
                        <path class="svg-heat-wave" d="M 35 25 Q 30 15 35 5"/>
                    </svg>
                    <h3 class="cs-card-title">Salon: Długa pętla i parkiet</h3>
                </div>
                <p class="cs-card-desc"><strong>Objaw przed regulacją:</strong> Pętla o długości 110 metrów stawiała ogromny opór hydrauliczny. Dodatkowo dębowa deska izolowała oddawanie ciepła. Rotametr wskazywał zaledwie <strong>0.3 l/min</strong>. Salon był lodowaty.</p>
                <div class="cs-card-solution">
                    <span class="cs-solution-badge">DZIAŁANIE NA ROTAMETRZE</span><br>
                    Na podstawie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektu OZC</a>, pozostawiliśmy ten obwód maksymalnie otwarty, dławiąc jednocześnie pozostałe strefy w domu. Wymusiło to przepływ wody przez salon z prędkością <strong>2.2 l/min</strong>, pokonując opór długiej rury i izolacji drewna.
                </div>
            </div>

            <div class="cs-split-card tiles" id="cs-card-tiles">
                <div class="cs-card-header">
                    <svg class="cs-svg-icon" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg">
                        <path class="svg-floor" d="M 5 40 L 45 40 M 15 40 L 15 30 L 5 30 M 25 40 L 25 30 L 35 30 L 35 40 M 45 30 L 35 30"/>
                        <path class="svg-heat-wave" d="M 15 20 Q 20 10 15 5"/>
                        <path class="svg-heat-wave" d="M 25 20 Q 30 10 25 5"/>
                        <path class="svg-heat-wave" d="M 35 20 Q 40 10 35 5"/>
                    </svg>
                    <h3 class="cs-card-title">Łazienka: Krótka pętla i gres</h3>
                </div>
                <p class="cs-card-desc"><strong>Objaw przed regulacją:</strong> Pętla miała tylko 35 metrów. Woda pędziła tamtędy bez żadnego oporu w ilości ponad <strong>3.0 l/min</strong>, powodując nieznośny szum na belce i przegrzewając płytki (zjawisko kradzieży przepływu).</p>
                <div class="cs-card-solution">
                    <span class="cs-solution-badge">DZIAŁANIE NA ROTAMETRZE</span><br>
                    Drastyczne &#8222;przykręcenie&#8221; czerwonej obejmy w dół. Zdławiliśmy przepływ tej krótkiej pętli do bezpiecznego poziomu <strong>0.8 l/min</strong>. Uspokoiło to pracę <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">pompy obiegowej</a> i &#8222;oddało&#8221; ciśnienie do wychłodzonego salonu.
                </div>
            </div>

        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe (Hard lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-case-study-rotameter');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 25px; text-align: center; background: #0f172a; color: #fff; border-radius: 24px; font-family: sans-serif;">
                    <div style="font-size: 50px; margin-bottom: 15px;">🔒</div>
                    <div style="font-weight: 900; font-size: 24px; margin-bottom: 10px; color: #38bdf8;">Treść Chroniona Prawem Autorskim</div>
                    <p style="font-size: 15px; color: #cbd5e1; margin-bottom: 25px;">Moduł "Studium Przypadku" jest własnością Projekt-Ogrzewania.pl.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 25px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: 800;">Wróć do źródła</a>
                </div>
            `;
            return;
        }
    }

    // Logika przełączania kart Case Study (Accordions style)
    const cardWood = document.getElementById('cs-card-wood');
    const cardTiles = document.getElementById('cs-card-tiles');

    function toggleCards(activeCard, inactiveCard) {
        if (!activeCard.classList.contains('active')) {
            activeCard.classList.add('active');
            inactiveCard.classList.remove('active');
        }
    }

    if (cardWood && cardTiles) {
        cardWood.addEventListener('click', () => toggleCards(cardWood, cardTiles));
        cardTiles.addEventListener('click', () => toggleCards(cardTiles, cardWood));
    }
});
</script>



<style>
:root {
    --faq-primary: #0f172a;
    --faq-accent: #0ea5e9;
    --faq-accent-dark: #0284c7;
    --faq-bg-light: #f8fafc;
    --faq-border: #e2e8f0;
    --faq-text: #334155;
    --faq-muted: #64748b;
    --faq-danger: #ef4444;
    --faq-success: #10b981;
}

.faq-expert-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--faq-text);
}

.faq-header-box {
    background: linear-gradient(135deg, var(--faq-primary), #1e293b);
    border-radius: 24px 24px 0 0;
    padding: 40px 50px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.faq-header-box::after {
    content: '?';
    position: absolute;
    right: 20px;
    top: -20px;
    font-size: 150px;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.05);
    line-height: 1;
    font-family: serif;
}

.faq-header-box h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    position: relative;
    z-index: 1;
    letter-spacing: -0.5px;
}

.faq-header-box p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0;
    max-width: 600px;
    position: relative;
    z-index: 1;
    line-height: 1.6;
}

.faq-accordion-wrapper {
    background: #ffffff;
    border: 1px solid var(--faq-border);
    border-top: none;
    border-radius: 0 0 24px 24px;
    padding: 30px 40px;
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.05);
}

.faq-item {
    border: 1px solid var(--faq-border);
    border-radius: 16px;
    margin-bottom: 15px;
    overflow: hidden;
    transition: all 0.3s ease;
    background: #ffffff;
}

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

.faq-item.active {
    border-color: var(--faq-accent);
    box-shadow: 0 10px 25px -5px rgba(14, 165, 233, 0.15);
}

.faq-question {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 20px 25px;
    font-size: 16px;
    font-weight: 800;
    color: var(--faq-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: background 0.3s;
}

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

.faq-item.active .faq-question {
    background: var(--faq-bg-light);
    color: var(--faq-accent-dark);
}

/* SVG Ikony w pytaniach */
.faq-icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #e0f2fe;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--faq-accent-dark);
}

.faq-item.active .faq-icon-wrap {
    background: var(--faq-accent);
    color: #ffffff;
}

.faq-svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Animowany znak +/- */
.faq-toggle-icon {
    margin-left: auto;
    width: 20px;
    height: 20px;
    position: relative;
    flex-shrink: 0;
}

.faq-toggle-icon::before,
.faq-toggle-icon::after {
    content: '';
    position: absolute;
    background: var(--faq-muted);
    border-radius: 2px;
    transition: transform 0.3s ease, background 0.3s ease;
}

.faq-toggle-icon::before { top: 9px; left: 0; width: 20px; height: 2px; }
.faq-toggle-icon::after { top: 0; left: 9px; width: 2px; height: 20px; }

.faq-item.active .faq-toggle-icon::after { transform: rotate(90deg); }
.faq-item.active .faq-toggle-icon::before,
.faq-item.active .faq-toggle-icon::after { background: var(--faq-accent-dark); }

/* Odpowiedź */
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-answer-content {
    padding: 0 25px 25px 85px; /* Wcięcie omijające ikonę */
    font-size: 15px;
    line-height: 1.7;
    color: var(--faq-text);
}

.faq-answer-content p {
    margin: 0 0 15px 0;
}
.faq-answer-content p:last-child {
    margin-bottom: 0;
}

.faq-answer-content a {
    color: var(--faq-accent-dark);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.faq-answer-content a:hover {
    color: #0c4a6e;
}

.faq-answer-content ul {
    margin: 0 0 15px 0;
    padding-left: 20px;
}

.faq-answer-content li {
    margin-bottom: 5px;
}

.faq-highlight-box {
    background: #fffbeb;
    border-left: 3px solid var(--faq-warning);
    padding: 12px 15px;
    border-radius: 0 8px 8px 0;
    margin: 15px 0;
    font-size: 14px;
    color: #92400e;
}

@media (max-width: 768px) {
    .faq-header-box { padding: 30px 25px; }
    .faq-accordion-wrapper { padding: 25px; }
    .faq-question { padding: 15px; font-size: 15px; gap: 15px; }
    .faq-answer-content { padding: 0 15px 20px 15px; } /* Usunięto duże wcięcie na mobile */
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#faq-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "5 najczęściej zadawanych pytań o rotametry i przepływy (FAQ)",
    "description": "Rozbudowane kompendium wiedzy. Odpowiadamy m.in. na jakiej wysokości pływaka czytać przepływ, dlaczego rotametry montuje się na powrocie i co oznacza skaczący wskaźnik.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-03",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Do czego dokładnie służy rotametr w ogrzewaniu podłogowym i czy jest on w ogóle niezbędny?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Rotametr (przepływomierz) służy do wizualnej kontroli i fizycznej regulacji (dławienia) ilości wody płynącej przez daną pętlę. Jest absolutnie niezbędny do przeprowadzenia równoważenia hydraulicznego. Bez niego woda popłynęłaby najkrótszą drogą, powodując przegrzanie małych pomieszczeń i drastyczne niedogrzanie tych dużych."
        }
      },
      {
        "@type": "Question",
        "name": "W jaki sposób prawidłowo odczytywać wartość ze skali? Gdzie powinna znajdować się krawędź pływaka?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Prawidłowy odczyt zawsze wykonuje się na górnej, płaskiej krawędzi pływaka (najczęściej jest to czerwony grzybek). To ona musi pokrywać się z linią na skali wyrażoną w litrach na minutę (L/min). Należy pamiętać, aby odczytu i regulacji dokonywać wyłącznie przy włączonej pompie obiegowej."
        }
      },
      {
        "@type": "Question",
        "name": "Jakie są optymalne przepływy dla typowej pętli podłogówki? Kiedy przepływ jest zbyt duży?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W standardowych instalacjach domowych optymalny przepływ mieści się w granicach od 0,5 do 1,5 L/min (maksymalnie do 2.0 L/min dla bardzo długich pętli). Przepływ zbyt niski (<0.5) grozi brakiem możliwości usunięcia pęcherzyków powietrza. Z kolei przepływ zbyt wysoki (>2.0) wywołuje szumy hydrauliczne i nadmiernie obciąża pompę."
        }
      },
      {
        "@type": "Question",
        "name": "Dlaczego rotametry instaluje się na belce powrotnej rozdzielacza, a zawory termostatyczne na zasilaniu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Rotametry są wrażliwe na temperaturę. Woda na zasilaniu jest najgorętsza, co zmienia jej gęstość i lepkość, a to zniekształcałoby odczyty siły wyporu pływaka. Dodatkowo, powrót jest miejscem chłodniejszym, co wydłuża żywotność elementów z tworzywa sztucznego i przezroczystej rurki pomiarowej."
        }
      },
      {
        "@type": "Question",
        "name": "Co oznacza sytuacja, w której pływak w rotametrze skacze, drga lub uparcie leży na samym dnie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Skaczący lub wibrujący pływak to w 99% przypadków objaw mocnego zapowietrzenia pętli. Z kolei pływak leżący na dnie (przy otwartym zaworze) sygnalizuje całkowity brak przepływu – może to być wina zablokowania rury, zanieczyszczenia filtra w rotametrze lub, jeśli dotyczy to wszystkich rotametrów, awarii pompy obiegowej."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-faq",
    "name": "Baza Wiedzy: Rozwiązywanie problemów z przepływami w systemach płaszczyznowych",
    "description": "Zestawienie najczęstszych problemów i parametrów diagnostycznych układów pompowych, odczytów skali oraz lokalizacji elementów hydraulicznych na rozdzielaczu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak czytać rotametr",
      "skaczący rotametr",
      "gdzie montować rotametr zasilanie czy powrót",
      "optymalny przepływ w podłogówce",
      "brak przepływu w rotametrze"
    ],
    "measurementTechnique": "Analiza odpowiedzi diagnostycznych opartych na odczytach wizualnych (0.0 - 3.0 l/min) oraz zachowaniu hydrodynamiki w obwodach grzewczych.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Diagnostyka hydrauliczna na bazie FAQs"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-faq",
    "name": "Interaktywny Eksplorator Wiedzy (FAQ Panel)",
    "description": "Dynamiczny komponent interfejsu (Accordion UI) ułatwiający szybkie wyszukiwanie i przyswajanie eksperckich odpowiedzi na trudne pytania instalacyjne bez przeładowania poznawczego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript for accordion state management"
  }
]
</script>

<div class="faq-expert-module" id="app-faq-module">

    <div class="faq-header-box">
        <h2>Pytania i Odpowiedzi (FAQ)</h2>
        <p>Rozwiewamy najczęstsze wątpliwości inwestorów i młodych instalatorów dotyczące działania, diagnostyki i poprawnej regulacji rotametrów w nowoczesnych systemach grzewczych.</p>
    </div>

    <div class="faq-accordion-wrapper">
        
        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><path d="M3 21h18M5 21V7l7-4 7 4v14M9 11v6M15 11v6"/></svg>
                </div>
                Do czego dokładnie służy rotametr w ogrzewaniu podłogowym i czy jest on w ogóle niezbędny?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>Rotametr (profesjonalnie: przepływomierz o zmiennym przekroju) służy do dwóch rzeczy: <strong>wizualnej kontroli</strong> ilości płynącej wody oraz jej <strong>fizycznej regulacji</strong> (poprzez dławienie zaworu, na którym jest osadzony).</p>
                    <p>Odpowiadając na drugą część pytania: <strong>Tak, jest absolutnie niezbędny</strong>. Zgodnie z zasadami fizyki, ciecz zawsze wybiera drogę najmniejszego oporu. Bez rotametrów i możliwości precyzyjnego kryzowania (dławienia) krótkich pętli, <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">woda ominęłaby długie obwody</a> (np. w salonie), powodując skrajne niedogrzanie największych pomieszczeń i przegrzanie tych małych. Równoważenie hydrauliczne bez rotametrów jest po prostu niemożliwe.</p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4M12 8h.01"/></svg>
                </div>
                W jaki sposób prawidłowo odczytywać wartość ze skali? Gdzie powinna znajdować się krawędź pływaka?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>Wielu początkujących instalatorów popełnia błąd, próbując uśredniać pozycję całego pływaka (czerwonego &#8222;grzybka&#8221;). Prawidłowy odczyt zawsze wykonuje się na <strong>najszerszej, górnej płaskiej krawędzi pływaka</strong>.</p>
                    <p>To właśnie ta pozioma linia musi pokrywać się z wyznaczoną wartością na skali nadrukowanej na szklanej/plastikowej rurce (np. na linii 1.5 l/min).</p>
                    <div class="faq-highlight-box">
                        <strong>Ważna uwaga:</strong> Odczytu i samej regulacji dokonujemy zawsze na &#8222;żywym organizmie&#8221;, czyli przy włączonej na docelowy bieg <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">pompie obiegowej</a> oraz całkowicie otwartych siłownikach termoelektrycznych.
                    </div>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><path d="M12 22A10 10 0 1 0 12 2a10 10 0 0 0 0 20zM12 16v-4M12 8h.01"/></svg>
                </div>
                Jakie są optymalne przepływy dla typowej pętli podłogówki? Kiedy przepływ jest zbyt duży?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>Dla standardowych instalacji mieszkalnych realizowanych rurą 16&#215;2.0, optymalny przepływ (zakładając projektowe różnice temperatur ΔT) mieści się w granicach <strong>od 0,5 do 1,5 L/min</strong>. W wyjątkowych sytuacjach dla najdłuższych pętli może to być 2.0 &#8211; 2.5 L/min.</p>
                    <ul>
                        <li><strong>Zbyt niski (< 0.5 l/min):</strong> Woda płynie tak wolno, że nie ma siły wypchnąć powietrza do odpowietrzników. Powstają korki gazowe.</li>
                        <li><strong>Zbyt wysoki (> 2.0 l/min):</strong> Skutkuje to zjawiskiem szumu hydraulicznego (piszczenie/syczenie w rurach i rozdzielaczu). Dodatkowo opór układu rośnie w kwadracie, co drastycznie zwiększa zużycie prądu przez pompę ciepła, nie dając już realnych zysków w przekazywaniu ciepła do wylewki.</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"/></svg>
                </div>
                Dlaczego rotametry instaluje się na belce powrotnej rozdzielacza, a nie na zasilaniu?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>To kwestia precyzji fizycznej i trwałości materiałów. Rotametry są niezwykle wrażliwe na zmiany parametrów fizycznych cieczy. Woda wchodząca z kotła na zasilanie jest najgorętsza (np. 45°C), co zmienia jej gęstość i lepkość kinmatyczną w stosunku do chłodniejszej wody na powrocie (np. 35°C).</p>
                    <p>Montaż na zasilaniu mógłby <strong>zniekształcać odczyty siły wyporu</strong> pływaka. Drugim powodem jest żywotność: przezroczyste tworzywo sztuczne i elementy mechaniczne rotametru wolniej degradują, gdy pracują w strumieniu o niższej, ustabilizowanej po przejściu przez posadzkę temperaturze powrotu.</p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><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 0zM12 9v4M12 17h.01"/></svg>
                </div>
                Co oznacza sytuacja, w której pływak w rotametrze skacze, drga lub uparcie leży na dnie?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>Takie zachowanie wskaźnika to idealna diagnoza kondycji Twojej instalacji:</p>
                    <ul>
                        <li><strong>Pływak skacze i wibruje:</strong> Strumień wody omywający pływak jest niejednorodny. Przerywają go pęcherzyki gazu. Jest to w 99% przypadków dowód na silne <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">zapowietrzenie danej pętli grzewczej</a>. Należy zamknąć pozostałe pętle i &#8222;przepchnąć&#8221; tę jedną na najwyższym biegu pompy.</li>
                        <li><strong>Pływak leży na dnie (przy odkręconym zaworze):</strong> Oznacza całkowity brak przepływu (0 l/min). Jeśli inne rotametry działają, przyczyna leży w tej konkretnej pętli – może być to fizyczne załamanie rury (zgniecenie przy zalewaniu jastrychu), mocne zabrudzenie filtra wewnętrznego lub uszkodzenie iglicy zaworu. Jeśli wszystkie pływaki nagle spadły na dno, oznacza to awarię źródła tłoczenia (np. zablokowanie pompy obiegowej).</li>
                    </ul>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- OCHRONA DOMENOWA (Bez H2/H3 w fallbacku) ---
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-faq-module');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #0f172a; color: #ffffff; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: 900; margin-bottom: 10px; color: #38bdf8;">Zabezpieczenie Treści</div>
                    <p style="font-size: 15px; color: #cbd5e1; margin-bottom: 25px;">Ten interaktywny moduł FAQ jest własnością intelektualną serwisu Projekt-Ogrzewania.pl.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 24px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    // --- LOGIKA AKORDEONU (Smooth Expand/Collapse) ---
    const faqItems = document.querySelectorAll('.faq-item');

    faqItems.forEach(item => {
        const questionBtn = item.querySelector('.faq-question');
        const answerDiv = item.querySelector('.faq-answer');

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

            // Zamykamy wszystkie inne (opcjonalne, w stylu akordeonu)
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.faq-answer').style.maxHeight = null;
            });

            // Jeśli nie był aktywny, otwieramy ten kliknięty
            if (!isActive) {
                item.classList.add('active');
                // Ustawiamy maxHeight na tyle ile faktycznie potrzebuje treść by animacja zadziałała
                answerDiv.style.maxHeight = answerDiv.scrollHeight + 50 + "px"; 
            }
        });
    });
});
</script>



<style>
:root {
    --sum-primary: #0f172a;
    --sum-accent: #0ea5e9;
    --sum-accent-dark: #0284c7;
    --sum-bg: #f8fafc;
    --sum-panel: #ffffff;
    --sum-border: #e2e8f0;
    --sum-text: #475569;
    --sum-success: #10b981;
    --sum-warning: #f59e0b;
}

.summary-module {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--sum-panel);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--sum-border);
    overflow: hidden;
    color: var(--sum-text);
}

.sum-header {
    background: linear-gradient(to right, var(--sum-primary), #1e293b);
    padding: 40px 50px;
    color: #ffffff;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.sum-header::before {
    content: '';
    position: absolute;
    left: -50px;
    top: -50px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.2) 0%, transparent 70%);
    border-radius: 50%;
}

.sum-badge {
    display: inline-block;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #bae6fd;
    margin-bottom: 15px;
}

.sum-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
}

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

/* INTERAKTYWNY UKŁAD */
.sum-workspace {
    display: flex;
    padding: 0;
    min-height: 400px;
}

.sum-nav {
    width: 35%;
    background: var(--sum-bg);
    border-right: 1px solid var(--sum-border);
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sum-nav-btn {
    background: transparent;
    border: 1px solid transparent;
    padding: 15px 20px;
    border-radius: 12px;
    text-align: left;
    font-size: 14px;
    font-weight: 800;
    color: var(--sum-primary);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 12px;
}

.sum-nav-btn:hover {
    background: #ffffff;
    border-color: var(--sum-border);
    color: var(--sum-accent-dark); /* Wymuszenie koloru na wypadek konfliktu z głównym motywem strony */
}

.sum-nav-btn.active {
    background: #ffffff;
    border-color: var(--sum-accent);
    box-shadow: 0 4px 15px rgba(14, 165, 233, 0.15);
    color: var(--sum-accent-dark);
}

.sum-nav-icon {
    font-size: 20px;
    background: #f1f5f9;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: 0.3s;
}

.sum-nav-btn.active .sum-nav-icon {
    background: #e0f2fe;
}

.sum-content-area {
    width: 65%;
    padding: 40px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.sum-panel {
    display: none;
    animation: fadeInSum 0.4s ease forwards;
}

.sum-panel.active {
    display: block;
}

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

/* Wizualizacje SVG */
.sum-visual-box {
    height: 160px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sum-bg);
    border: 1px solid var(--sum-border);
    border-radius: 16px;
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
}

.sum-svg { width: 120px; height: 120px; overflow: visible; }

/* Animacje SVG */
.anim-float { animation: floatUpDown 2s infinite ease-in-out alternate; }
@keyframes floatUpDown {
    0% { transform: translateY(5px); }
    100% { transform: translateY(-5px); }
}

.anim-flow-path {
    stroke-dasharray: 10 10;
    animation: dashFlow 1s linear infinite;
}
@keyframes dashFlow {
    to { stroke-dashoffset: -20; }
}

.anim-pulse { animation: pulseScale 2s infinite ease-in-out alternate; }
@keyframes pulseScale {
    0% { transform: scale(0.95); opacity: 0.8; }
    100% { transform: scale(1.05); opacity: 1; }
}

/* Teksty w panelach */
.sum-panel h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--sum-primary);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.sum-panel p {
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.sum-panel a {
    color: var(--sum-accent-dark);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: 0.2s;
}

.sum-panel a:hover {
    color: #0369a1;
}

@media (max-width: 800px) {
    .sum-workspace { flex-direction: column; }
    .sum-nav { width: 100%; border-right: none; border-bottom: 1px solid var(--sum-border); padding: 25px; flex-direction: row; flex-wrap: wrap; }
    .sum-nav-btn { flex: 1 1 calc(50% - 10px); justify-content: center; text-align: center; flex-direction: column; gap: 8px; padding: 10px;}
    .sum-content-area { width: 100%; padding: 30px 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie: Najważniejsze zasady regulacji rotametrów",
    "description": "Zwięzłe pigułki wiedzy o wskaźnikach przepływu. Działanie, równoważenie, optymalne wartości i kluczowa rola projektu OZC w jednym interaktywnym panelu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-03",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-podsumowanie",
    "name": "Kluczowe tezy instalacyjne - Rotametry i Przepływy",
    "description": "Zbiór ostatecznych wytycznych inżynierskich dotyczących działania, balansu hydraulicznego i zależności projektowych dla rozdzielaczy ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie rotametry",
      "najważniejsze zasady ogrzewania podłogowego",
      "regulacja podłogówki krok po kroku",
      "projekt OZC a przepływy",
      "prawidłowe ustawienie wskaźników przepływu"
    ],
    "measurementTechnique": "Synteza wniosków z analizy hydrodynamiki obwodów zasilających i powrotnych w instalacjach płaszczyznowych.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Zasady optymalizacji ogrzewania płaszczyznowego"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-podsumowanie",
    "name": "Pigułka Wiedzy: Panel Wniosków Końcowych",
    "description": "Aplikacja podsumowująca kluczowe zagadnienia artykułu za pomocą wizualizacji wektorowych (SVG) ilustrujących fizykę układów pompowych i zasady projektowe.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, CSS Animations, SVG"
  }
]
</script>

<div class="summary-module" id="app-summary-hub">

    <div class="sum-header">
        <div class="sum-badge">💡 Pigułka Wiedzy</div>
        <h2>Zapamiętaj te 4 zasady</h2>
        <p>Nie masz czasu czytać całego artykułu ponownie? Oto esencja inżynierskiej wiedzy o rotametrach, którą musisz znać przed uruchomieniem swojej instalacji.</p>
    </div>

    <div class="sum-workspace">
        <div class="sum-nav">
            <button class="sum-nav-btn active" data-sum="sum-1">
                <span class="sum-nav-icon">🔍</span> 1. Fundament Działania
            </button>
            <button class="sum-nav-btn" data-sum="sum-2">
                <span class="sum-nav-icon">⚖️</span> 2. Równoważenie Układu
            </button>
            <button class="sum-nav-btn" data-sum="sum-3">
                <span class="sum-nav-icon">🎯</span> 3. Optymalne Przepływy
            </button>
            <button class="sum-nav-btn" data-sum="sum-4">
                <span class="sum-nav-icon">📐</span> 4. Podstawa Projektowa
            </button>
        </div>

        <div class="sum-content-area">
            
            <div class="sum-panel active" id="sum-1">
                <div class="sum-visual-box">
                    <svg class="sum-svg" viewBox="0 0 100 100">
                        <rect x="35" y="10" width="30" height="80" rx="4" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="2"/>
                        <rect x="35" y="40" width="30" height="50" fill="#bae6fd"/>
                        <path class="anim-float" d="M 40 40 L 60 40 L 55 50 L 45 50 Z" fill="#ef4444"/>
                        <line x1="30" y1="25" x2="35" y2="25" stroke="#94a3b8" stroke-width="2"/>
                        <line x1="30" y1="50" x2="35" y2="50" stroke="#94a3b8" stroke-width="2"/>
                        <line x1="30" y1="75" x2="35" y2="75" stroke="#94a3b8" stroke-width="2"/>
                    </svg>
                </div>
                <h3>Wizualna kontrola fizyki</h3>
                <p>Rotametr to proste, ale precyzyjne urządzenie. Wykorzystuje siłę oporu wody tłoczonej przez <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">pompę obiegową</a>, aby unieść pływak.</p>
                <p>Odczyt zawsze wykonujemy na <strong>górnej krawędzi pływaka</strong>. Pamiętaj, że ze względu na dokładność pomiarową, rotametry montuje się zawsze na chłodniejszej belce powrotnej rozdzielacza.</p>
            </div>

            <div class="sum-panel" id="sum-2">
                <div class="sum-visual-box">
                    <svg class="sum-svg" viewBox="0 0 100 100">
                        <rect x="10" y="45" width="30" height="10" fill="#e2e8f0"/>
                        <line x1="10" y1="50" x2="35" y2="50" class="anim-flow-path" stroke="#0ea5e9" stroke-width="4"/>
                        <path d="M 40 50 Q 50 50 50 30 L 50 15" fill="none" stroke="#e2e8f0" stroke-width="10"/>
                        <path d="M 35 50 Q 50 50 50 30 L 50 15" fill="none" class="anim-flow-path" stroke="#0ea5e9" stroke-width="4"/>
                        <path d="M 40 50 Q 50 50 50 70 L 50 85" fill="none" stroke="#e2e8f0" stroke-width="10"/>
                        <path d="M 35 50 Q 50 50 50 70 L 50 85" fill="none" class="anim-flow-path" stroke="#0ea5e9" stroke-width="4"/>
                        <circle cx="50" cy="30" r="8" fill="#ef4444"/>
                        <circle cx="50" cy="70" r="8" fill="#10b981"/>
                    </svg>
                </div>
                <h3>Konieczność równoważenia</h3>
                <p>Woda to &#8222;leniwe medium&#8221;, które zawsze ucieka pętlami o najmniejszym oporze (najkrótszymi). Jeśli nie zastosujesz rotametrów, Twój układ będzie całkowicie rozregulowany.</p>
                <p>Główną rolą wskaźnika jest <strong>sztuczne zdławienie (kryzowanie) krótkich obwodów</strong>, aby wymusić przepływ wody przez długie rury w dużych pomieszczeniach.</p>
            </div>

            <div class="sum-panel" id="sum-3">
                <div class="sum-visual-box">
                    <svg class="sum-svg anim-pulse" viewBox="0 0 100 100">
                        <circle cx="50" cy="50" r="40" fill="none" stroke="#e2e8f0" stroke-width="8"/>
                        <path d="M 20 50 A 30 30 0 0 1 80 50" fill="none" stroke="#10b981" stroke-width="8" stroke-linecap="round"/>
                        <line x1="50" y1="50" x2="50" y2="25" stroke="#0f172a" stroke-width="4" stroke-linecap="round"/>
                        <circle cx="50" cy="50" r="6" fill="#0f172a"/>
                        <text x="50" y="80" font-size="14" font-weight="bold" fill="#0284c7" text-anchor="middle">1.2 l/min</text>
                    </svg>
                </div>
                <h3>Złoty środek w nastawach</h3>
                <p>Optymalny zakres przepływu na pętlę to zazwyczaj <strong>od 0.5 do 1.5 l/min</strong>. To kompromis, który gwarantuje cichą pracę i efektywne oddawanie ciepła.</p>
                <p>Zbyt niskie wartości grożą zapowietrzeniem instalacji. Zbyt wysokie (otwarcie zaworów &#8222;na full&#8221;) powodują uciążliwy <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">szum w rozdzielaczu</a> i bezsensownie pożerają prąd napędzający pompę.</p>
            </div>

            <div class="sum-panel" id="sum-4">
                <div class="sum-visual-box">
                    <svg class="sum-svg" viewBox="0 0 100 100">
                        <rect x="25" y="10" width="50" height="70" rx="4" fill="#ffffff" stroke="#cbd5e1" stroke-width="3"/>
                        <line x1="35" y1="25" x2="65" y2="25" stroke="#94a3b8" stroke-width="3" stroke-linecap="round"/>
                        <line x1="35" y1="40" x2="55" y2="40" stroke="#94a3b8" stroke-width="3" stroke-linecap="round"/>
                        <line x1="35" y1="55" x2="60" y2="55" stroke="#94a3b8" stroke-width="3" stroke-linecap="round"/>
                        <path class="anim-pulse" d="M 45 75 L 55 85 L 80 50" fill="none" stroke="#10b981" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
                    </svg>
                </div>
                <h3>Bez projektu to zgadywanie</h3>
                <p>Rotametr jest zaledwie mechanicznym wykonawcą poleceń. To <strong><a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczenia inżynierskie (OZC)</a></strong> mówią nam, jaka wartość powinna znaleźć się na jego skali.</p>
                <p>Projektant uwzględnia w nich różnice w izolacji podłóg (panele vs gres), stratach cieplnych okien i docelowej temperaturze. Ustawianie &#8222;wszystkiego po równo&#8221; to błąd w sztuce!</p>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- OCHRONA DOMENOWA (Bez użycia H-tagów) ---
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-summary-hub');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 20px; text-align: center; background: #0f172a; color: #ffffff; border-radius: 24px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 22px; font-weight: 900; margin-bottom: 10px; color: #38bdf8;">Zawartość Chroniona Autorsko</div>
                    <p style="font-size: 15px; color: #cbd5e1; margin-bottom: 25px;">Moduł "Pigułka Wiedzy" jest własnością serwisu Projekt-Ogrzewania.pl.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 24px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">Wróć do oryginału</a>
                </div>
            `;
            return;
        }
    }

    // --- LOGIKA PRZEŁĄCZANIA PANELU WIEDZY ---
    const navBtns = document.querySelectorAll('.sum-nav-btn');
    const panels = document.querySelectorAll('.sum-panel');

    navBtns.forEach(btn => {
        btn.addEventListener('click', (e) => {
            // Zresetuj wszystkie przyciski i panele
            navBtns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Aktywuj kliknięty
            e.currentTarget.classList.add('active');
            const targetId = e.currentTarget.getAttribute('data-sum');
            const targetPanel = document.getElementById(targetId);
            
            if(targetPanel) {
                // Mały trick by zresetować animację CSS przy każdym kliknięciu
                targetPanel.style.animation = 'none';
                targetPanel.offsetHeight; /* trigger reflow */
                targetPanel.style.animation = null; 
                
                targetPanel.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --dl-primary: #0f172a;
    --dl-accent: #0ea5e9;
    --dl-accent-dark: #0284c7;
    --dl-bg: #f8fafc;
    --dl-border: #e2e8f0;
    --dl-text: #334155;
    --dl-white: #ffffff;
}

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

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

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

.dl-badge {
    display: inline-block;
    background: rgba(14, 165, 233, 0.2);
    border: 1px solid rgba(14, 165, 233, 0.3);
    color: #7dd3fc;
    padding: 6px 12px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.dl-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 10px 0;
    letter-spacing: -0.5px;
}

.dl-header p {
    font-size: 15px;
    color: #94a3b8;
    margin: 0;
    line-height: 1.5;
}

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

.dl-pdf-icon-svg {
    width: 80px;
    height: auto;
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.3));
    animation: floatIcon 3s infinite ease-in-out alternate;
}

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

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

.dl-preview-box {
    flex: 1;
    background: var(--dl-bg);
    border: 1px solid var(--dl-border);
    border-radius: 16px;
    padding: 10px;
    position: relative;
    cursor: zoom-in;
    transition: transform 0.3s;
}

.dl-preview-box:hover {
    transform: scale(1.02);
}

.dl-preview-img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}

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

.dl-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.dl-feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
    font-size: 15px;
    font-weight: 600;
    color: var(--dl-text);
}

.dl-check-svg {
    width: 20px;
    height: 20px;
    color: var(--dl-accent);
    flex-shrink: 0;
}

/* PRZYCISK POBIERANIA */
.dl-main-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--dl-accent);
    color: var(--dl-white);
    text-decoration: none !important;
    padding: 18px 30px;
    border-radius: 14px;
    font-weight: 800;
    font-size: 16px;
    transition: all 0.3s;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.4);
}

.dl-main-btn:hover {
    background: var(--dl-accent-dark);
    transform: translateY(-3px);
    box-shadow: 0 15px 30px -5px rgba(14, 165, 233, 0.5);
}

.dl-main-btn span { font-size: 20px; }

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

.dl-footer a {
    color: var(--dl-accent-dark);
    font-weight: 700;
    text-decoration: none;
}

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#infografika-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Rotametr – Instrukcja i Tabela Nastaw (Infografika PDF)",
    "description": "Pobierz inżynierskie zestawienie nastaw przepływu dla ogrzewania podłogowego. Kompletny poradnik regulacji rotametrów w formacie PDF i WEBP.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Rotametr-wskaznik-przeplywu-w-rozdzielaczu-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": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-tabela",
    "name": "Tabela inżynierska: Długość pętli vs Zalecany przepływ l/min",
    "description": "Zbiór danych określający optymalne natężenie przepływu wody dla rur PEX/PERT 16x2.0 w zależności od długości obwodu (od 50m do 120m).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "tabela nastaw rotametrów",
      "ile l/min na podłogówkę",
      "przepływ 100m rury",
      "regulacja rozdzielacza instrukcja PDF",
      "optymalny przepływ w pętli"
    ],
    "measurementTechnique": "Obliczenia hydrauliczne dla ΔT=5-8K przy standardowym obciążeniu cieplnym budynku jednorodzinnego.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Parametry nastawcze rozdzielacza"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#download-app",
    "name": "Centrum Pobierania Wiedzy: Rotametr",
    "description": "Interaktywny moduł umożliwiający wizualizację i pobranie dokumentacji technicznej dotyczącej wskaźników przepływu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="download-hub-container" id="app-rotameter-dl">
    
    <div class="dl-header">
        <div class="dl-header-content">
            <div class="dl-badge">Darmowe Materiały</div>
            <h2>Pobierz Kompletny Poradnik</h2>
            <p>Zabierz inżynierską wiedzę na budowę. Tabela nastaw, schemat budowy i diagnostyka błędów w jednym pliku PDF.</p>
        </div>
        <div class="dl-header-visual">
            <svg class="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="#ef4444" stroke="#ffffff" stroke-width="1"/>
                <path d="M14 2V8H20" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/>
                <text x="7" y="18" fill="white" font-size="5" font-weight="900" font-family="sans-serif">PDF</text>
            </svg>
        </div>
    </div>

    <div class="dl-workspace">
        
        <div class="dl-preview-box" onclick="window.open('https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego.webp', '_blank')">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego.webp" alt="Infografika Rotametr - wskaźnik przepływu w rozdzielaczu ogrzewania podłogowego" class="dl-preview-img" loading="lazy">
            <div style="position:absolute; bottom:20px; right:20px; background:rgba(0,0,0,0.6); color:white; padding:8px 12px; border-radius:8px; font-size:12px; font-weight:700;">🔍 Kliknij, aby powiększyć</div>
        </div>

        <div class="dl-info-side">
            <ul class="dl-feature-list">
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" 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>
                    Tabela: Przepływ vs Długość pętli
                </li>
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Schemat budowy 1:1
                </li>
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" 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>
                    Checklista: 3 najczęstsze błędy
                </li>
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" 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>
                    Optymalizacja pod smartfony
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego.pdf" class="dl-main-btn" target="_blank">
                <span>📥</span> POBIERZ INSTRUKCJĘ (PDF)
            </a>
            
            <p style="margin-top: 20px; font-size: 13px; color: var(--dl-muted); line-height: 1.4;">
                Potrzebujesz precyzyjnych danych dla swojego domu? <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" style="color:var(--dl-accent-dark); font-weight:800;">Zamów projekt podłogówki</a> z gotowymi nastawami rotametrów.
            </p>
        </div>

    </div>

    <div class="dl-footer">
        © 2026 Projekt-Ogrzewania.pl | Autor: <strong>Robert Kucharski</strong>. Udostępnianie dozwolone z zachowaniem linku do źródła.
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-rotameter-dl');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; border: 2px solid #dc2626; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 10px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 800; color: #991b1b;">Zasoby Chronione</div>
                    <p style="color: #b91c1c; font-size: 14px;">Ta infografika i dokumentacja PDF są własnością serwisu Projekt-Ogrzewania.pl. Pobieranie z zewnętrznych serwerów jest zabronione.</p>
                </div>
            `;
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">Rotametr (wskaźnik przepływu) w rozdzielaczu 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/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Salon ile pętli podłogówki?</title>
		<link>https://projekt-ogrzewania.pl/salon-ile-petli-podlogowki/</link>
					<comments>https://projekt-ogrzewania.pl/salon-ile-petli-podlogowki/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 12 Feb 2025 10:31:08 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Niskotemperaturowe systemy grzewcze]]></category>
		<category><![CDATA[Nowoczesne systemy grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Rozstaw pętli]]></category>
		<category><![CDATA[Rozstaw rur ogrzewania]]></category>
		<category><![CDATA[Rozstaw rur podłogówki]]></category>
		<category><![CDATA[Rozstaw rur w podłogówce]]></category>
		<category><![CDATA[Salon]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[budowa]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacje]]></category>
		<category><![CDATA[ogrzewanie]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[poradnik]]></category>
		<category><![CDATA[remont]]></category>
		<category><![CDATA[salon]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2173</guid>

					<description><![CDATA[<p>Planujesz ogrzewanie podłogowe w salonie i zastanawiasz się, ile pętli podłogówki będzie optymalne dla Twojej przestrzeni? W tym artykule znajdziesz szczegółowe wyliczenia dla salonów o powierzchni od 20 m² do 50 m², uwzględniające rozstaw rur, długość pętli oraz praktyczne wskazówki. Dowiesz się, jak rozplanować pętle grzewcze, aby zapewnić równomierne nagrzewanie podłogi i efektywność systemu. Sprawdź, jak dostosować liczbę pętli do swojego metrażu i uniknąć typowych błędów!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/salon-ile-petli-podlogowki/">Salon ile pętli podłogówki?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Planujesz montaż podłogówki w salonie i zastanawiasz się, <strong>ile pętli podłogówki</strong> będzie optymalne dla Twojej przestrzeni? Liczba pętli zależy od wielkości pomieszczenia, rozstawu rur oraz maksymalnej długości jednej pętli. W tym artykule przedstawimy szczegółowe <strong>wyliczenia dla salonów o powierzchni od 20 m² do 50 m²</strong>, abyś mógł dobrze zaplanować instalację. Pamiętaj, że odpowiednie rozplanowanie pętli wpływa na równomierne nagrzewanie podłogi i efektywność systemu!</p>



<h2 class="wp-block-heading">Salon 20 m²: ile pętli podłogówki będzie potrzebne?</h2>



<h3 class="wp-block-heading"><em>Obliczenia dla małej przestrzeni</em>.</h3>



<p class="wp-block-paragraph">Dla salonu o powierzchni 20 m² przyjmijmy standardowy rozstaw rur co 15 cm (0,15 m). Długość jednej pętli obliczamy według wzoru:</p>



<p class="wp-block-paragraph"><strong>Długość pętli = (Powierzchnia / Rozstaw rur) × 100</strong>.<br>(20 m² / 0,15 m) × 100 = 133,3 m.</p>



<p class="wp-block-paragraph">Przy <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">maksymalnej zalecanej długości pętli 80–100 m</a>, konieczne będą <strong>dwie pętle</strong>. Każda o długości ok. 67 m (133,3 m / 2), co zapewni równomierne rozprowadzenie ciepła.</p>



<h3 class="wp-block-heading"><em>Optymalny rozstaw i dodatkowe wskazówki</em>.</h3>



<p class="wp-block-paragraph">Jeśli zwiększysz rozstaw do 20 cm, długość pętli spadnie do 100 m (20 m² / 0,20 m × 100). Wtedy wystarczy <strong>jedna pętla</strong>, ale system może wolniej reagować na zmiany temperatury.</p>



<h2 class="wp-block-heading">Salon 25 m²: jak rozplanować pętle grzewcze?</h2>



<h3 class="wp-block-heading"><em>Kluczowe wyliczenia</em>.</h3>



<p class="wp-block-paragraph">Przyjmując rozstaw 15 cm:<br>(25 m² / 0,15 m) × 100 = 166,6 m.</p>



<p class="wp-block-paragraph">To przekracza limit 120 m, więc dzielimy na <strong>dwie pętle po 83,3 m</strong>. Jeśli wybierzesz rozstaw 10 cm(np. w strefie tarasowej), długość wzrośnie do 250 m – wtedy potrzebne będą <strong>trzy pętle</strong>.</p>



<h3 class="wp-block-heading"><em>Gdzie zastosować gęstsze pętle?</em></h3>



<p class="wp-block-paragraph">W okolicy dużych okien lub drzwi balkonowych warto zmniejszyć rozstaw do 10 cm, aby zniwelować straty ciepła.</p>



<h2 class="wp-block-heading">Salon 30 m²: równoważenie długości pętli</h2>



<h3 class="wp-block-heading"><em>Przykład dla rozstawu 15 cm</em>.</h3>



<p class="wp-block-paragraph">(30 m² / 0,15 m) × 100 = 200 m → <strong>dwie pętle po 100 m</strong>. To idealne rozwiązanie, bo mieści się w limicie długości.</p>



<h3 class="wp-block-heading"><em>Większy rozstaw – mniej pętli?</em></h3>



<p class="wp-block-paragraph">Przy 20 cm:<br>(30 m² / 0,20 m) × 100 = 150 m → <strong>dwie pętle po 75 m</strong>. Choć możliwe jest użycie jednej pętli, lepiej unikać długości powyżej 120 m.</p>



<h2 class="wp-block-heading">Salon 35 m²: kiedy zwiększyć liczbę pętli?</h2>



<h3 class="wp-block-heading"><em>Standardowy rozstaw vs. wydajność</em>.</h3>



<p class="wp-block-paragraph">Przy 15 cm:<br>(35 m² / 0,15 m) × 100 = 233,3 m → <strong>trzy pętle po ok. 78 m</strong>. Dzięki temu unikniesz różnic temperatur w poszczególnych częściach salonu.</p>



<h3 class="wp-block-heading"><em>Nietypowe kształty pomieszczeń</em>.</h3>



<p class="wp-block-paragraph">Jeśli salon ma wydłużony kształt, podziel go na <strong>strefy grzewcze</strong>. Np. część dzienną (20 m²) i jadalnianą (15 m²), każda z osobną pętlą.</p>



<h2 class="wp-block-heading">Salon 40 m²: optymalizacja dla dużych przestrzeni.</h2>



<h3 class="wp-block-heading"><em>Obliczenia podstawowe</em>.</h3>



<p class="wp-block-paragraph">Przy 15 cm:<br>(40 m² / 0,15 m) × 100 = 266,6 m → <strong>trzy pętle po 89 m</strong> lub <strong>cztery po 66,6 m</strong>. Większa liczba pętli poprawi regulację temperatury.</p>



<h3 class="wp-block-heading"><em>Rozłożenie pętli a meble</em>.</h3>



<p class="wp-block-paragraph">Pamiętaj, by nie układać rur pod szafami lub kanapami – zmniejsza to efektywność systemu. Uwzględnij to w <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projekcie ogrzewania podłogowego</a>!</p>



<h2 class="wp-block-heading">Salon 45 m²: elastyczne rozwiązania</h2>



<h3 class="wp-block-heading"><em>Dostosowanie do układu salonu</em>.</h3>



<p class="wp-block-paragraph">Dla 45 m² i rozstawu 15 cm:<br>(45 / 0,15) × 100 = 300 m → <strong>trzy pętle po 100 m</strong> lub <strong>cztery po 75 m</strong>. Druga opcja lepiej sprawdzi się w pomieszczeniach z wieloma przeszkodami.</p>



<h3 class="wp-block-heading"><em>Zmiana rozstawu w strefach</em>.</h3>



<p class="wp-block-paragraph">W części wypoczynkowej zastosuj rozstaw 15 cm, a w pobliżu okien – 10 cm. Wymaga to dodatkowej pętli, ale zwiększy komfort cieplny.</p>



<h2 class="wp-block-heading">Salon 50 m²: profesjonalne planowanie pętli.</h2>



<h3 class="wp-block-heading"><em>Minimum cztery pętle</em>.</h3>



<p class="wp-block-paragraph">Przy 15 cm:<br>(50 / 0,15) × 100 = 333,3 m → <strong>cztery pętle po 83 m</strong>. To zapewni równomierne grzanie i zmniejszy ryzyko awarii.</p>



<h3 class="wp-block-heading"><em>Rozdzielacz z regulacją</em>.</h3>



<p class="wp-block-paragraph">Dla tak dużej powierzchni zainstaluj <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rozdzielacze-do-ogrzewania-podlogowego/">rozdzielacz</a> z termostatami, aby osobno sterować każdą pętlą. To kluczowe dla oszczędności energii!</p>



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



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1739354845478"><strong class="schema-faq-question"><strong>Jaką maksymalną długość powinna mieć jedna pętla podłogówki?</strong></strong> <p class="schema-faq-answer">Zaleca się, aby długość jednej pętli nie przekraczała <strong>80–100 metrów</strong>. Dłuższe pętle mogą powodować nierównomierne nagrzewanie podłogi i zmniejszać efektywność systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1739354854063"><strong class="schema-faq-question"><strong>Czy rozstaw rur ma wpływ na liczbę pętli?</strong></strong> <p class="schema-faq-answer">Tak, im mniejszy rozstaw rur (np. 10 cm), tym większa długość pętli i często konieczność zastosowania większej liczby pętli. Przy rozstawie 15–20 cm liczba pętli może być mniejsza.</p> </div> <div class="schema-faq-section" id="faq-question-1739354896478"><strong class="schema-faq-question"><strong>Czy można układać pętle pod meblami?</strong></strong> <p class="schema-faq-answer">Nie zaleca się układania pętli pod meblami stałymi, takimi jak np. szafy w zabudowie. Może to prowadzić do przegrzania systemu i zmniejszenia jego efektywności.</p> </div> <div class="schema-faq-section" id="faq-question-1739354928335"><strong class="schema-faq-question"><strong>Jak podzielić salon na strefy grzewcze?</strong></strong> <p class="schema-faq-answer">Salon można podzielić na strefy w zależności od funkcji (np. część wypoczynkowa i jadalniana) lub lokalizacji (np. przy oknach). Każda strefa może mieć osobną pętlę.</p> </div> <div class="schema-faq-section" id="faq-question-1739354945614"><strong class="schema-faq-question"><strong>Czy warto stosować rozdzielacz z termostatami?</strong></strong> <p class="schema-faq-answer">Tak, rozdzielacz z termostatami pozwala na indywidualną regulację każdej pętli, co zwiększa komfort cieplny i oszczędność energii, szczególnie w dużych pomieszczeniach.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie: kluczowe zasady projektowania pętli</h2>



<p class="wp-block-paragraph">Liczba pętli zależy od metrażu salonu, rozstawu <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rury-do-ogrzewania-podlogowego/">rur</a> oraz maksymalnej długości pętli (80–100 m). Im większa powierzchnia, tym więcej pętli – ale zawsze możesz dostosować rozstaw lub podzielić pomieszczenie na strefy. Pamiętaj, że precyzyjne wyliczenia <a href="https://projekt-ogrzewania.pl/kontakt/">warto skonsultować z instalatorem</a>, który uwzględni izolację, rodzaj podłogi i lokalne straty ciepła. Dzięki temu podłogówka w Twoim salonie będzie działać efektywnie przez lata!</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="7L3UDg74HS"><a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-100-m2/">Projekt ogrzewania podłogowego &#8211; do 100 m2</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt ogrzewania podłogowego &#8211; do 100 m2&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-100-m2/embed/#?secret=IHv9QtirJw#?secret=7L3UDg74HS" data-secret="7L3UDg74HS" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/salon-ile-petli-podlogowki/">Salon ile pętli podłogówki?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/salon-ile-petli-podlogowki/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Za długa pętla podłogówki.</title>
		<link>https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/</link>
					<comments>https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 06 Feb 2025 17:41:12 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Komfort cieplny w domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Regulacja hydrauliczna]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[projektowanie instalacji]]></category>
		<category><![CDATA[regulacja hydrauliczna]]></category>
		<category><![CDATA[straty ciśnienia]]></category>
		<category><![CDATA[za długa pętla podłogówki]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2103</guid>

					<description><![CDATA[<p>Za długa pętla podłogówki bywa jednym z najbardziej niedocenianych zagrożeń związanych z instalacją ogrzewania podłogowego. Jeśli jedna pętla jest zbyt długa, możesz borykać się z nierównomiernym rozkładem temperatur w pomieszczeniach, nadmiernym obciążeniem pompy obiegowej oraz wyższymi rachunkami za ogrzewanie. Niewłaściwy dobór obwodu grzewczego wiąże się też z potencjalnymi problemami w późniejszej regulacji i eksploatacji całej instalacji. Właśnie dlatego tak ważne jest poznanie zasad prawidłowego projektowania oraz stosowanie sprawdzonych rozwiązań, które pozwolą uniknąć dodatkowych kosztów i zapewnić pełen komfort cieplny w każdym pomieszczeniu.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">Za długa pętla podłogówki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Za długa pętla podłogówki</strong> – to pojęcie, które często pojawia się w kontekście instalacji ogrzewania podłogowego. Wiele osób, które decydują się na takie rozwiązanie, nie zdaje sobie sprawy z tego, jak istotna jest optymalna długość każdej pętli grzewczej. <em>Właściwie zaprojektowany i wykonany system</em> ma kluczowe znaczenie dla komfortu cieplnego, efektywności energetycznej i trwałości całej instalacji. W poniższym artykule przyjrzymy się temu, czym grozi <em>za długa pętla podłogówki</em>, jak rozpoznać tę sytuację, a także jakie kroki podjąć, by uniknąć ewentualnych problemów.</p>



<h2 class="wp-block-heading">Na czym polega problem zbyt długiej pętli?</h2>



<p class="wp-block-paragraph">Instalacja ogrzewania podłogowego polega na rozprowadzeniu w podłodze rur, w których krąży czynnik grzewczy (najczęściej woda). <em>Te rury</em> tworzą tzw. pętle ogrzewania podłogowego, czyli obwody, którymi przepływa ogrzewana woda z kotła, pompy ciepła lub innego źródła ciepła. Podstawowym celem jest równomierne rozprowadzenie energii cieplnej tak, by zapewnić komfort w poszczególnych pomieszczeniach.</p>



<p class="wp-block-paragraph">Jeżeli jedna pętla okaże się za długa, to:</p>



<ol class="wp-block-list">
<li><strong>Zwiększają się straty ciśnienia</strong>, a to powoduje większe obciążenie pompy obiegowej.</li>



<li><strong>Nierównomiernie rozkłada się temperatura</strong> – w niektórych częściach pętli podłoga będzie cieplejsza, w innych chłodniejsza.</li>



<li><strong>Wzrasta ryzyko zapowietrzenia</strong> i konieczność częstszego odpowietrzania.</li>



<li><strong>Zaburzone zostaje sterowanie instalacją</strong> – trudniej ustawić optymalny przepływ w całym systemie.</li>
</ol>



<p class="wp-block-paragraph">W konsekwencji pętla ogrzewania podłogowego działa mniej efektywnie, co przekłada się na wyższe koszty eksploatacji i <em>niższy komfort cieplny</em>.</p>



<h3 class="wp-block-heading">Jak rozpoznać, że pętla jest za długa?</h3>



<p class="wp-block-paragraph">Zidentyfikowanie zbyt długiej pętli czasem bywa trudne na pierwszy rzut oka. Jednak istnieją pewne charakterystyczne objawy, które mogą świadczyć o takim problemie:</p>



<ul class="wp-block-list">
<li><strong>Duże wahania temperatur</strong> na przestrzeni jednego pomieszczenia.</li>



<li><strong>Wolniejsze nagrzewanie się</strong> podłogi w dalszych częściach obwodu (zwykle najbardziej oddalonych od rozdzielacza).</li>



<li><strong>Konieczność mocniejszego odkręcania zaworów</strong> lub podnoszenia parametrów źródła ciepła.</li>



<li><strong>Podwyższone koszty ogrzewania</strong> w porównaniu do przewidywanych założeń projektowych.</li>
</ul>



<p class="wp-block-paragraph">Jeżeli obserwujesz jednocześnie kilka z powyższych symptomów, warto <strong>przeanalizować <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projekt instalacji</a></strong> lub skontaktować się z instalatorem w celu sprawdzenia przepływów i długości pętli.</p>



<h2 class="wp-block-heading">Dlaczego długość pętli ma tak duże znaczenie?</h2>



<p class="wp-block-paragraph">System ogrzewania podłogowego powinien być zaprojektowany z uwzględnieniem odpowiedniej mocy grzewczej, strat ciepła w budynku, ale także ze świadomością, że każda pętla podłogówki ma ograniczoną zdolność do skutecznego i równomiernego przekazywania ciepła. Optymalna długość pętli wynosi zazwyczaj od 80 do 120 metrów. <em>Oczywiście konkretny metraż zależy od</em>:</p>



<ul class="wp-block-list">
<li>Przekroju użytych rur (np. 16 mm, 17 mm, 18 mm),</li>



<li>Rozstawu rur (najczęściej 10, 15 lub 20 cm),</li>



<li>Typu i mocy źródła ciepła,</li>



<li>Parametrów cieplnych pomieszczenia (izolacja, wielkość, przeznaczenie).</li>
</ul>



<p class="wp-block-paragraph">Jeśli jednak w pomieszczeniu zaprojektowano jeden obwód o długości znacznie przekraczającej 120-140 metrów, możemy mówić o potencjalnej <strong>za długiej pętli podłogówki</strong>.</p>



<h3 class="wp-block-heading">Straty ciśnienia i obciążenie pompy.</h3>



<p class="wp-block-paragraph">Im dłuższa pętla, tym większy opór hydrauliczny. Aby wymusić przepływ wody przez tak długi obwód, potrzebna jest <strong>mocniejsza pompa</strong>, zdolna do pokonania wyższych strat ciśnienia. Jeśli pompa obiegowa jest dobrana zbyt słabo albo znajduje się na granicy swoich możliwości, może mieć trudności z przepompowaniem wody przez cały układ. W efekcie niektóre sekcje pętli mogą być niedogrzane.</p>



<h3 class="wp-block-heading">Różnice temperatur w obrębie jednej pętli.</h3>



<p class="wp-block-paragraph">Woda wchodząca do <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rury-do-ogrzewania-podlogowego/">rury</a> pętli ma wyższą temperaturę, a opuszczając ją – jest już mocno wychłodzona. Wprawdzie ogrzewanie podłogowe działa niskotemperaturowo, a spadek temperatur na dobrze zoptymalizowanej pętli wynosi zwykle tylko kilka stopni, to jednak przy długości sięgającej kilkudziesięciu metrów różnice te mogą stać się na tyle duże, by w jednej części pomieszczenia podłoga była wyraźnie cieplejsza niż w drugiej.</p>



<h2 class="wp-block-heading">Skutki, które może przynieść za długa pętla podłogówki.</h2>



<p class="wp-block-paragraph">Poniżej przedstawiamy konsekwencje niewłaściwego doboru długości obwodów i wynikające z tego problemy:</p>



<ol class="wp-block-list">
<li><strong>Obniżony komfort cieplny</strong> – duże różnice temperatur na powierzchni podłogi utrudniają utrzymanie jednorodnego mikroklimatu w pomieszczeniu.</li>



<li><strong>Wyższe koszty eksploatacji</strong> – aby zrekompensować niewystarczający przepływ i odpowiednio dogrzać najbardziej oddalone obszary, należy zwiększyć parametry zasilania instalacji lub czas pracy pompy.</li>



<li><strong>Nadmierne obciążenie pompy</strong> – skraca to jej żywotność i może prowadzić do częstszych awarii.</li>



<li><strong>Trudności w regulacji instalacji</strong> – równoważenie hydrauliczne staje się bardziej skomplikowane, a niekiedy niemożliwe bez dodatkowych inwestycji w bardziej rozbudowane systemy sterowania.</li>



<li><strong>Potencjalne przegrzewanie poszczególnych stref</strong> – może prowadzić do uszkodzenia podłogi lub wykończenia podłogowego (np. paneli) w wyniku zbyt wysokiej temperatury w niektórych obszarach.</li>
</ol>



<h3 class="wp-block-heading">Jak oblicza się długość pętli podłogówki?</h3>



<p class="wp-block-paragraph">Aby właściwie obliczyć długość pętli, należy wziąć pod uwagę:</p>



<ul class="wp-block-list">
<li><strong>Wielkość i kształt pomieszczenia</strong> – im bardziej skomplikowana geometria, tym trudniejszy rozkład rur.</li>



<li><strong>Gęstość ułożenia rur</strong> (rozstaw) – standardowo w domach jednorodzinnych to 10, 15 lub 20 cm. Im gęstszy <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">rozstaw</a>, tym więcej metrów rury potrzeba na pokrycie całej powierzchni.</li>



<li><strong>Straty cieplne w pomieszczeniu</strong> – w uproszczeniu, im większe straty, tym więcej ciepła trzeba dostarczyć, a co za tym idzie – lepiej zaplanować odpowiednią ilość pętli.</li>



<li><strong>Moc źródła grzewczego</strong> – im bardziej wydajny kocioł czy pompa ciepła, tym łatwiej zrekompensować ewentualne drobne błędy w projektowaniu, ale nie rozwiąże to problemu, jeśli pętla jest zdecydowanie za długa.</li>
</ul>



<p>Przykładowe (schematyczne) obliczenie:</p>
<ol>
    <li>Rozstaw rur: 15 cm.</li>
    <li>Powierzchnia pomieszczenia: 25 m².</li>
    <li>
        Długość rury potrzebnej na 1 m² przy rozstawie 15 cm to około 6,7 mb (metrów bieżących).<br>
        Otrzymujemy:
        <p>
            \[
            25 \, m^2 \times 6.7 \, \frac{mb}{m^2} = 167.5 \, mb \, (przybliżony \, wynik)
            \]
        </p>
        Już widać, że jedna pętla mogłaby przekroczyć nawet 160-170 metrów, co jest wartością <em>zdecydowanie</em> zbyt dużą.
    </li>
    <li>
        W takiej sytuacji zaleca się <em>podział na dwie pętle</em> po około 80-85 mb każda.
    </li>
</ol>
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>



<p class="wp-block-paragraph">Oczywiście jest to ujęcie poglądowe – w praktyce wchodzi w grę wiele czynników, które szczegółowo analizują projektanci i instalatorzy.</p>



<h2 class="wp-block-heading">Czy da się skorygować za długą pętlę?</h2>



<p class="wp-block-paragraph"><em>Kiedy już odkryjemy, że nasza instalacja została zaprojektowana niewłaściwie</em>, powstaje pytanie, czy da się ją skorygować bez przeprowadzenia kosztownego remontu podłogi. Niestety, jeżeli pętla jest zdecydowanie zbyt długa i została zalana w posadzce, to możliwości są ograniczone. Z reguły można rozważyć:</p>



<ol class="wp-block-list">
<li><strong>Montaż dodatkowej pompy obiegowej</strong> – jednak może to tylko częściowo rozwiązać problem ze zbyt długą pętlą, zwiększając przepływ, ale nie zawsze zapewni idealny rozkład temperatur.</li>



<li><strong>Instalację zaworów regulacyjnych, <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rozdzielacze-do-ogrzewania-podlogowego/">rozdzielaczy</a>, belki mieszającej</strong> – pomoże w pewnym stopniu wyregulować przepływ i temperaturę.</li>



<li><strong>Wymianę źródła ciepła na mocniejsze</strong> – jeśli woda ma być w stanie szybciej krążyć w długiej pętli, musi być też zapewnione wyższe ciśnienie i odpowiednio większa moc. Jednak takie działanie często jest nieopłacalne energetycznie.</li>



<li><strong>Faktyczne przerobienie instalacji</strong> – w ekstremalnych przypadkach niezbędne może okazać się rozbicie dużej pętli na mniejsze. Jest to jednak kosztowne i wiąże się z koniecznością naruszenia posadzki.</li>
</ol>



<p class="wp-block-paragraph">Zdecydowanie bardziej racjonalne jest uniknięcie problemu na etapie projektowania i montażu. <em>O wiele łatwiej</em> jest podzielić przestrzeń na dwie lub trzy pętle niż próbować później radzić sobie z konsekwencjami zbyt długiego obwodu.</p>



<h3 class="wp-block-heading">Jak zapobiegać za długiej pętli podłogówki?</h3>



<p class="wp-block-paragraph">Najlepszym sposobem na uniknięcie problemów jest <strong>prawidłowe zaprojektowanie</strong> ogrzewania podłogowego. W praktyce oznacza to:</p>



<ul class="wp-block-list">
<li><strong>Konsultację z doświadczonym projektantem</strong>: Specjalista, znając kubaturę budynku, rozkład pomieszczeń, materiał ścian, izolacji i zapotrzebowanie na moc cieplną, będzie w stanie zaplanować optymalny układ rur.</li>



<li><strong>Użycie odpowiednich narzędzi projektowych</strong>: Dobre programy do projektowania instalacji pomogą precyzyjnie obliczyć zapotrzebowanie na ciepło i rozkład rur.</li>



<li><strong>Dbanie o jakość wykonania</strong>: Równomierne ułożenie rur oraz prawidłowe podłączenie do rozdzielacza.</li>



<li><strong>Balans hydrauliczny</strong>: Niezbędny element, który pozwala na wyregulowanie przepływu między kilkoma pętlami.</li>
</ul>



<p class="wp-block-paragraph">Warto pamiętać, że każda <em>profesjonalna</em> instalacja powinna zawierać dokumentację w postaci planu rozprowadzenia rur, na podstawie której można w razie potrzeby przeprowadzać ewentualne naprawy i modernizacje.</p>



<h2 class="wp-block-heading">Przykładowe wyliczenie: jak rozplanować pętle w domu jednorodzinnym?</h2>



<p class="wp-block-paragraph">Załóżmy, że mamy typowy dom o powierzchni użytkowej ok. 120 m², z następującym układem pomieszczeń:</p>



<ul class="wp-block-list">
<li><strong>Parter</strong>: salon (30 m²), kuchnia (12 m²), łazienka (6 m²), korytarz (10 m²).</li>



<li><strong>Piętro</strong>: 3 sypialnie (każda około 12 m²) oraz duża łazienka (10 m²).</li>
</ul>



<p class="wp-block-paragraph">Przyjmując, że rozstaw rur to 15 cm, a średnica to 16 mm, można wstępnie założyć:</p>



<ul class="wp-block-list">
<li>Salon (30 m²) – zapotrzebowanie ok. 6,7 mb rury na 1 m², co daje 201 mb. To <strong>zbyt dużo</strong> na jedną pętlę, więc zaleca się minimum 2 pętle:
<ul class="wp-block-list">
<li><em>Pętla 1</em>: 100 mb,</li>



<li><em>Pętla 2</em>: 101 mb.</li>
</ul>
</li>



<li>Kuchnia (12 m²) – potrzebujemy ok. 80,4 mb. To jeszcze graniczna długość jednej pętli, ale wciąż do przyjęcia, pod warunkiem że projekt przewiduje właściwy przepływ. Można rozważyć podział na 2 krótsze pętle po ~40 mb, zwłaszcza jeśli kuchnia ma nieregularny kształt.</li>



<li>Łazienka na parterze (6 m²) – ok. 40,2 mb rury. To bez problemu może być jedna pętla.</li>



<li>Korytarz (10 m²) – ok. 67 mb rury. Zalecana jedna pętla.</li>



<li>Sypialnie (3 × 12 m²) – każda wymaga ok. 80,4 mb, co sugeruje, że każda sypialnia może mieć <em>jedną pętlę</em> pod warunkiem, że nie ma problemów z oporami przepływu.</li>



<li>Łazienka na piętrze (10 m²) – ok. 67 mb, więc może być jedna pętla.</li>
</ul>



<p class="wp-block-paragraph">Już z tego prostego szacunku widać, że istnieje potencjalne ryzyko, iż <strong>za długa pętla podłogówki</strong> pojawi się tam, gdzie mamy duże pomieszczenia typu salon. W praktyce zawsze warto <em>podzielić</em> największe przestrzenie na co najmniej dwie pętle.</p>



<h2 class="wp-block-heading"><strong>FAQ (5 pytań i odpowiedzi):</strong></h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1738855879724"><strong class="schema-faq-question"><strong>Czy długość pętli podłogówki przekraczająca 120 metrów zawsze oznacza problemy?</strong></strong> <p class="schema-faq-answer">Nie zawsze, ale zwykle pętle powyżej 100–120 metrów mogą powodować utrudniony przepływ, wyższe straty ciśnienia i nierównomierne ogrzewanie. Wszystko zależy od średnicy rur, rozstawu oraz możliwości pompy obiegowej.</p> </div> <div class="schema-faq-section" id="faq-question-1738855914795"><strong class="schema-faq-question"><strong>Jak sprawdzić, czy moja pętla jest za długa?</strong></strong> <p class="schema-faq-answer">Najlepiej zapoznać się z dokumentacją projektu lub zmierzyć rzeczywistą długość rury. Zwróć także uwagę na objawy: wolne nagrzewanie podłogi, nierówne temperatury czy zbyt wysokie koszty ogrzewania.</p> </div> <div class="schema-faq-section" id="faq-question-1738855927448"><strong class="schema-faq-question"><strong>Czy da się skrócić pętlę bez skuwania posadzki?</strong></strong> <p class="schema-faq-answer">Niestety jest to trudne. Można zastosować dodatkowe urządzenia regulacyjne lub mocniejszą pompę, jednak w praktyce całkowite wyeliminowanie problemu wymaga podziału obwodu, co zazwyczaj wiąże się z ingerencją w podłogę.</p> </div> <div class="schema-faq-section" id="faq-question-1738855943291"><strong class="schema-faq-question"><strong>Jak uniknąć za długiej pętli podczas projektowania?</strong></strong> <p class="schema-faq-answer">Kluczowe są prawidłowe obliczenia i rozłożenie rur w kilku krótszych pętlach zamiast jednej długiej. Pomoże w tym doświadczony projektant, który dobierze odpowiednią średnicę rur, rozstaw i liczbę obwodów.</p> </div> <div class="schema-faq-section" id="faq-question-1738855957628"><strong class="schema-faq-question"><strong>Jakie dodatkowe koszty mogą wiązać się z za długą pętlą podłogówki?</strong></strong> <p class="schema-faq-answer">Przede wszystkim wyższe rachunki za ogrzewanie ze względu na słabszy przepływ i konieczność zwiększania temperatury zasilania. Wzrasta też ryzyko częstszych awarii pompy obiegowej i konieczność rozbudowanej regulacji systemu, co oznacza dodatkowe wydatki.</p> </div> </div>



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



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



<p class="wp-block-paragraph"><strong>Za długa pętla podłogówki</strong> to problem, którego można uniknąć, planując instalację na etapie projektu i wykonując ją zgodnie ze sztuką. Najważniejsze elementy to:</p>



<ul class="wp-block-list">
<li><strong>Prawidłowe obliczenia</strong>: ustalenie rozstawu, średnicy rur oraz liczby pętli odpowiednio do zapotrzebowania na ciepło i kształtu pomieszczeń.</li>



<li><strong>Zachowanie zalecanych długości obwodów</strong> (najczęściej do 80–100 mb, maksymalnie 120 mb).</li>



<li><strong>Balansowanie hydrauliczne</strong>: zapewnienie prawidłowego przepływu i wyrównanie ciśnień w całej instalacji.</li>



<li><strong>Dobór odpowiedniej pompy obiegowej</strong>: dopasowanej do oporów instalacji.</li>



<li><strong>Regularna konserwacja</strong>: odpowietrzanie, kontrola rozdzielaczy, sprawdzanie pracy pompy.</li>
</ul>



<p class="wp-block-paragraph">Jeśli już dojdzie do sytuacji, że w posadzce mamy pętlę przekraczającą znacznie zalecaną długość, <em>można próbować</em> załagodzić skutki poprzez odpowiedni dobór i regulację pompy obiegowej, montaż zaworów balansujących czy regulację przepływów na rozdzielaczu. Niemniej jednak rozwiązania te często są jedynie półśrodkami i nie przynoszą tak dobrych rezultatów, jak prawidłowe wykonanie instalacji od samego początku.</p>



<p class="wp-block-paragraph">Pamiętaj, że ogrzewanie podłogowe jest systemem niskotemperaturowym, <em>który wymaga precyzji i staranności przy projektowaniu</em>. Dzięki temu możliwe jest osiągnięcie wysokiego komfortu cieplnego, przy jednoczesnym zachowaniu korzystnych kosztów eksploatacji. Dlatego warto postawić na sprawdzonych fachowców i dopilnować, by <strong>za długa pętla podłogówki</strong> nie stała się Twoją bolączką na wiele lat.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="Xq3xLC7896"><a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/">Projekt ogrzewania podłogowego &#8211; do 150 m2</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt ogrzewania podłogowego &#8211; do 150 m2&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/embed/#?secret=iUtY3elrEK#?secret=Xq3xLC7896" data-secret="Xq3xLC7896" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">Za długa pętla podłogówki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym?</title>
		<link>https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 04 Dec 2024 17:37:44 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Modernizacja budynków]]></category>
		<category><![CDATA[Montaż ogrzewania]]></category>
		<category><![CDATA[Nowoczesne systemy grzewcze]]></category>
		<category><![CDATA[Nowoczesne technologie grzewcze]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Planowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Systemy ogrzewania]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacja hydrauliczna]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[nowoczesne technologie]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[planowanie instalacji]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[strefy brzegowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1610</guid>

					<description><![CDATA[<p>Planowanie pętli grzewczych w ogrzewaniu podłogowym to kluczowy etap, który wpływa na komfort cieplny i efektywność energetyczną budynku. W artykule omawiamy, jak krok po kroku rozplanować pętle grzewcze, aby zapewnić równomierne rozprowadzenie ciepła, uniknąć błędów montażowych oraz zoptymalizować koszty eksploatacji. Dowiedz się, jak długość pętli, rozstaw rur oraz strefy brzegowe wpływają na działanie systemu, a także jak skorzystać z darmowego projektu ogrzewania dostępnego online.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">Jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong><a href="https://projekt-ogrzewania.pl/">Ogrzewanie podłogowe</a></strong> to coraz popularniejsze rozwiązanie zarówno w nowoczesnych, jak i remontowanych budynkach. Zapewnia równomierne rozprowadzenie ciepła, co przekłada się na komfort cieplny oraz oszczędności w rachunkach za energię. Kluczowym elementem instalacji ogrzewania podłogowego jest odpowiednie zaplanowanie pętli grzewczych, które mają decydujący wpływ na efektywność i funkcjonalność całego systemu. W artykule omówimy, jak zaplanować rozmieszczenie pętli grzewczych, aby zapewnić optymalne warunki cieplne w domu.</p>



<h2 class="wp-block-heading">Dlaczego rozmieszczenie pętli grzewczych jest tak ważne?</h2>



<p class="wp-block-paragraph"><strong>Prawidłowe rozmieszczenie pętli grzewczych</strong> ma kluczowe znaczenie dla efektywności ogrzewania podłogowego. Pętle grzewcze powinny zapewniać równomierne rozprowadzanie ciepła po całej powierzchni podłogi, aby unikać tzw. zimnych i ciepłych stref. Nieodpowiednie rozmieszczenie może prowadzić do dyskomfortu cieplnego, a także do nierównomiernego zużycia energii, co zwiększa koszty eksploatacyjne.</p>



<p class="wp-block-paragraph">Odpowiednie rozmieszczenie pętli grzewczych pozwala na uzyskanie optymalnej temperatury przy mniejszym zużyciu energii, co z kolei przekłada się na mniejsze rachunki. Właściwie zaplanowana instalacja pozwala także uniknąć przegrzewania się niektórych obszarów oraz zapewnia długą i bezproblemową eksploatację systemu.</p>



<h2 class="wp-block-heading">Krok po kroku – planowanie pętli grzewczych.</h2>



<h3 class="wp-block-heading"><strong>Analiza rozkładu pomieszczeń</strong>.</h3>



<p class="wp-block-paragraph">Przed przystąpieniem do planowania pętli grzewczych należy dokładnie przeanalizować <strong>rozkład pomieszczeń</strong>. Należy wziąć pod uwagę wielkość każdego z pomieszczeń, ich przeznaczenie oraz rozmieszczenie okien i drzwi. Pomieszczenia o dużych przeszkleniach lub takie, które znajdują się na zewnętrznych ścianach budynku, mogą wymagać większej liczby pętli grzewczych, aby zapewnić odpowiedni poziom ciepła.</p>



<h3 class="wp-block-heading"><strong>Obliczenia dotyczące długości pętli</strong>.</h3>



<p class="wp-block-paragraph">Kolejnym krokiem jest obliczenie <strong>długości pętli grzewczych</strong>. Długość pętli powinna być dostosowana do powierzchni danego pomieszczenia oraz przewidzianej temperatury. Optymalna długość pojedynczej pętli to zazwyczaj od 80 do 120 metrów – dłuższe pętle mogą powodować spadki ciśnienia, co z kolei obniża efektywność systemu. W przypadku większych pomieszczeń lepiej jest zastosować kilka krótszych pętli niż jedną bardzo długą.</p>



<h3 class="wp-block-heading"><strong>Odległości między rurami</strong>.</h3>



<p class="wp-block-paragraph"><strong>Odległości między <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rury-do-ogrzewania-podlogowego/">rurami</a></strong> (tzw. rozstaw rur) to kolejny istotny element planowania pętli grzewczych. Standardowo rozstaw rur wynosi od 10 do 30 cm, w zależności od wymaganego poziomu ciepła. W pomieszczeniach, które wymagają większej ilości ciepła (np. łazienki), odległości te mogą być mniejsze, aby zapewnić wyższą temperaturę. Z kolei w pomieszczeniach mniej intensywnie użytkowanych, takich jak korytarze, można zastosować większy rozstaw rur.</p>



<h3 class="wp-block-heading"><strong>Uwzględnienie stref brzegowych</strong>.</h3>



<p class="wp-block-paragraph">Podczas planowania rozmieszczenia pętli grzewczych, należy <strong>uwzględnić strefy brzegowe</strong>. Strefy te znajdują się w pobliżu ścian zewnętrznych oraz dużych powierzchni okiennych, gdzie występują największe straty ciepła. W takich miejscach zaleca się zagęszczenie rur, aby zminimalizować straty energii i utrzymać odpowiedni komfort cieplny.</p>



<h3 class="wp-block-heading"><strong>Podział na obwody grzewcze</strong>.</h3>



<p class="wp-block-paragraph">W przypadku większych budynków, zaleca się podział instalacji na <strong>obwody grzewcze</strong>, co ułatwia sterowanie temperaturą w poszczególnych pomieszczeniach. Każdy obwód powinien być wyposażony w osobny regulator, co pozwala na dostosowanie temperatury do indywidualnych potrzeb domowników oraz charakterystyki danego pomieszczenia.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-1024x1024.jpg" alt="Przykładowy projekt ogrzewania podłogowego" class="wp-image-1312" srcset="https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-1024x1024.jpg 1024w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-300x300.jpg 300w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-150x150.jpg 150w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-768x768.jpg 768w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-600x600.jpg 600w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-100x100.jpg 100w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2.jpg 1134w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Przykładowy projekt ogrzewania podłogowego</figcaption></figure>



<h2 class="wp-block-heading">Praktyczne wskazówki dotyczące planowania pętli grzewczych.</h2>



<ul class="wp-block-list">
<li><strong>Unikaj krzyżowania rur</strong> – krzyżowanie pętli grzewczych może prowadzić do strat ciepła oraz trudności w regulacji temperatury.</li>



<li><strong>Zachowaj odpowiedni rozstaw</strong> – pamiętaj, że zbyt mały rozstaw rur może prowadzić do przegrzewania podłogi, podczas gdy zbyt duży rozstaw spowoduje nierównomierne rozprowadzenie ciepła.</li>



<li><strong>Konsultuj się z profesjonalistami</strong> – planowanie pętli grzewczych to zadanie wymagające precyzji i doświadczenia. Warto skorzystać z pomocy specjalistów, aby uniknąć błędów, które mogłyby wpłynąć na efektywność systemu.</li>
</ul>



<h2 class="wp-block-heading">Zalety dobrze zaplanowanego rozmieszczenia pętli grzewczych.</h2>



<p class="wp-block-paragraph">Dobrze zaplanowane <strong>rozmieszczenie pętli grzewczych</strong> zapewnia równomierne rozprowadzenie ciepła, co przekłada się na komfort cieplny w całym domu. Odpowiednio dobrane długości pętli oraz rozstaw rur pozwalają na efektywne wykorzystanie energii, co z kolei przekłada się na niższe rachunki za ogrzewanie. Dodatkowo, dobrze zaprojektowany system jest bardziej niezawodny i mniej podatny na awarie, co oznacza mniejsze koszty utrzymania. W naszym sklepie można zamówić <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">darmowy projekt ogrzewania podłogowego</a>, co pomoże w optymalnym zaplanowaniu całego systemu.</p>



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



<p class="wp-block-paragraph">Planowanie rozmieszczenia pętli grzewczych w <strong>ogrzewaniu podłogowym</strong> to kluczowy etap, który ma bezpośredni wpływ na efektywność i komfort cieplny w budynku. Dokładna analiza rozkładu pomieszczeń, odpowiednie obliczenia długości pętli, dostosowanie rozstawu rur do potrzeb poszczególnych pomieszczeń oraz uwzględnienie stref brzegowych to podstawowe kroki, które należy podjąć, aby instalacja była skuteczna i ekonomiczna. Warto również pamiętać o podziale na obwody grzewcze, co pozwala na lepsze sterowanie temperaturą i dostosowanie jej do indywidualnych potrzeb.</p>



<p class="wp-block-paragraph">Dzięki odpowiednio zaplanowanemu rozmieszczeniu pętli grzewczych, <strong>ogrzewanie podłogowe</strong> może stać się nie tylko efektywnym, ale także wygodnym i ekonomicznym sposobem na zapewnienie ciepła w domu.</p>



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



<h2 class="wp-block-heading">FAQ – Najczęściej zadawane pytania o planowanie pętli grzewczych w ogrzewaniu podłogowym.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1734867021150"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe można montować pod meblami w zabudowie stałej?</strong></strong> <p class="schema-faq-answer">Nie zaleca się montażu ogrzewania podłogowego pod meblami w zabudowie stałej, takimi jak szafy garderobiane czy szafki kuchenne. Tego typu zabudowa ogranicza swobodny przepływ ciepła, co może prowadzić do przegrzewania systemu i jego mniejszej efektywności.</p> </div> <div class="schema-faq-section" id="faq-question-1734867114036"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe można instalować w łazience pod wanną lub prysznicem?</strong></strong> <p class="schema-faq-answer">Tak, ogrzewanie podłogowe można układać pod wanną lub prysznicem. W takich miejscach dobrze zaprojektowany system zapewnia komfort cieplny i szybkie nagrzewanie.</p> </div> <div class="schema-faq-section" id="faq-question-1734867131991"><strong class="schema-faq-question"><strong>Jaką długość powinna mieć pojedyncza pętla grzewcza?</strong></strong> <p class="schema-faq-answer">Optymalna długość pojedynczej pętli wynosi od 80 do 120 metrów. Dłuższe pętle mogą powodować spadki ciśnienia w systemie, co obniża efektywność ogrzewania. W większych pomieszczeniach lepiej zastosować kilka krótszych pętli.</p> </div> <div class="schema-faq-section" id="faq-question-1734867149968"><strong class="schema-faq-question"><strong>Jak dobrać rozstaw rur w systemie ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Standardowy rozstaw rur wynosi od 10 do 30 cm. W pomieszczeniach wymagających większej ilości ciepła, takich jak łazienki, należy zastosować mniejszy rozstaw, aby zapewnić wyższą temperaturę. W mniej intensywnie użytkowanych pomieszczeniach, jak korytarze, rozstaw rur może być większy.</p> </div> <div class="schema-faq-section" id="faq-question-1734867166368"><strong class="schema-faq-question"><strong>Dlaczego strefy brzegowe są tak istotne w planowaniu pętli grzewczych?</strong></strong> <p class="schema-faq-answer">Strefy brzegowe, znajdujące się w pobliżu zewnętrznych ścian i okien, są narażone na największe straty ciepła. W tych miejscach zaleca się zagęszczenie rur, co pozwala zminimalizować straty energii i utrzymać równomierny komfort cieplny w pomieszczeniu.</p> </div> </div>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="vZqEF2cuBF"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=fYQpsYAhUN#?secret=vZqEF2cuBF" data-secret="vZqEF2cuBF" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">Jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
