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

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa modernizacja ogrzewania - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/modernizacja-ogrzewania/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Frezowanie ogrzewania podłogowego w starym domu.</title>
		<link>https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 07 Apr 2026 09:03:02 +0000</pubDate>
				<category><![CDATA[Budowa i remont]]></category>
		<category><![CDATA[Budowa i remonty]]></category>
		<category><![CDATA[Frezowanie posadzki]]></category>
		<category><![CDATA[Modernizacja instalacji]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Porady dla domu]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Remont]]></category>
		<category><![CDATA[Remont domu]]></category>
		<category><![CDATA[Remont i modernizacja]]></category>
		<category><![CDATA[Remont starego domu]]></category>
		<category><![CDATA[Technologia budowlana]]></category>
		<category><![CDATA[Technologia w budownictwie]]></category>
		<category><![CDATA[Technologie budowlane]]></category>
		<category><![CDATA[bezpyłowe frezowanie]]></category>
		<category><![CDATA[frezowanie betonu]]></category>
		<category><![CDATA[frezowanie podłogówki]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[koszty frezowania]]></category>
		<category><![CDATA[modernizacja ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłogówka w starym domu]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[remont]]></category>
		<category><![CDATA[remont starego domu]]></category>
		<category><![CDATA[stara wylewka]]></category>
		<category><![CDATA[system suchy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4152</guid>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    <div class="rk-intro-interactive">
        <div class="rk-sim-controls">
            <button class="rk-sim-btn" data-mode="old" onclick="rkSwitchTech('old')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                Tradycyjne Kucie
            </button>
            <button class="rk-sim-btn active" data-mode="new" onclick="rkSwitchTech('new')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                Frezowanie Bezpyłowe
            </button>
        </div>

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-okladziny",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Wpływ okładziny podłogowej na wydajność frezowanej podłogówki",
    "description": "Porównanie oporu cieplnego (gres vs panele) zgodnie z normą PN-EN 1264-3. Jak wybór materiału wpływa na temperaturę zasilania i koszty pracy pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-opor-cieplny",
    "name": "Tabela oporu cieplnego posadzek i wpływu na zasilanie pompy ciepła",
    "description": "Techniczne zestawienie parametrów przewodzenia dla płytek ceramicznych i paneli laminowanych w układach płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opór cieplny posadzki r",
      "panele na ogrzewanie podłogowe",
      "gres a podłogówka",
      "spadek temperatury okładziny",
      "norma PN-EN 1264-3"
    ],
    "measurementTechnique": "Obliczenia spadku temperatury ΔT wg prawa Fouriera dla założonej gęstości strumienia cieplnego q = 60 W/m².",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Gres/Ceramika: R = 0,015 m²·K/W. Minimalny opór, spadek temperatury to zaledwie 0,9 K.",
        "Panele podłogowe: R = 0,10 m²·K/W. Znaczny opór izolacyjny, wymuszający podniesienie zasilania o 5,1 K."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-opor-cieplny",
    "name": "Symulator Strat na Oporze Cieplnym",
    "description": "Interaktywny panel zestawiający różnice termiczne i ekonomiczne pomiędzy zastosowaniem ceramiki a drewna/paneli nad instalacją podłogową.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-floor-container state-tile" id="rk-floor-sim-app">
    <div class="rk-floor-header">
        <div class="rk-floor-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
            Materiały wykończeniowe
        </div>
        <h2 class="rk-floor-title">Jak rodzaj okładziny wpływa na wydajność frezowanej podłogówki?</h2>
        <p class="rk-floor-intro">
            Rodzaj okładziny wierzchniej decyduje o końcowej gęstości strumienia cieplnego. Zgodnie z wytycznymi normy <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/" class="rk-floor-link">PN-EN 1264-3</a>, całkowity <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" class="rk-floor-link">opór cieplny (R) warstw posadzkowych</a> nad rurami nie może przekraczać <strong>0,15 m²·K/W</strong>. 
        </p>
        <p class="rk-floor-intro" style="margin:0;">
            Wybór między ceramiką a drewnem dramatycznie wpływa na to, czy nasze źródło ciepła będzie pracowało ekonomicznie, czy z wymuszonym, wyższym parametrem zasilania.
        </p>
    </div>

    <div class="rk-floor-interactive">
        <div class="rk-floor-controls">
            <button class="rk-floor-btn active" data-type="tile" onclick="rkSwitchFloor('tile')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect></svg>
                Gres / Płytki Ceramiczne
            </button>
            <button class="rk-floor-btn" data-type="wood" onclick="rkSwitchFloor('wood')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="4" y1="21" x2="4" y2="14"></line><line x1="4" y1="10" x2="4" y2="3"></line><line x1="12" y1="21" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="3"></line><line x1="20" y1="21" x2="20" y2="16"></line><line x1="20" y1="12" x2="20" y2="3"></line></svg>
                Panele / Deska Warstwowa
            </button>
        </div>

        <div class="rk-floor-screen">
            <div class="rk-floor-visual">
                <svg class="rk-svg-cross" viewBox="0 0 100 100" preserveAspectRatio="none">
                    <circle cx="50" cy="70" r="10" fill="#cbd5e1" stroke="#334155" stroke-width="2"/>
                    <circle cx="50" cy="70" r="6" fill="#ef4444"/>

                    <path class="svg-block-wave" d="M 20 30 Q 50 40 80 30" fill="none" stroke="#ef4444" stroke-width="4" stroke-linecap="round"/>
                    
                    <path class="svg-heat-arrow" d="M 35 60 L 35 5" fill="none" stroke-width="4" stroke-linecap="round"/>
                    <path class="svg-heat-arrow" d="M 50 55 L 50 0" fill="none" stroke-width="5" stroke-linecap="round"/>
                    <path class="svg-heat-arrow" d="M 65 60 L 65 5" fill="none" stroke-width="4" stroke-linecap="round"/>
                    
                    <rect class="svg-layer-top" x="0" width="100"/>
                    <line x1="0" y1="30" x2="100" y2="30" stroke="#334155" stroke-width="2" stroke-dasharray="4 2"/>
                </svg>
            </div>

            <div class="rk-floor-param-grid">
                <div class="rk-floor-box">
                    <div class="rk-floor-label">Opór cieplny (R)</div>
                    <div class="rk-floor-value val-dynamic" id="rk-val-r">0,015 <span>m²·K/W</span></div>
                </div>
                <div class="rk-floor-box">
                    <div class="rk-floor-label">Spadek temp. warstwy (ΔT)</div>
                    <div class="rk-floor-value val-dynamic" id="rk-val-dt">0,9 <span>K</span></div>
                </div>
                <div class="rk-floor-box">
                    <div class="rk-floor-label">Wydajność (Zasilanie 35°C)</div>
                    <div class="rk-floor-value val-dynamic" id="rk-val-power">85 - 100 <span>W/m²</span></div>
                </div>
                <div class="rk-floor-box">
                    <div class="rk-floor-label">Narzut kosztów prądu (Pompa)</div>
                    <div class="rk-floor-value val-dynamic" id="rk-val-cost">0% <span>(Baza)</span></div>
                </div>

                <div class="rk-floor-feedback" id="rk-floor-msg">
                    <strong>Idealny przesył energii.</strong> Ceramika wykazuje znikomy opór cieplny. Ogrzewanie podłogowe pracuje na minimalnych temperaturach zasilania, co gwarantuje najwyższy możliwy współczynnik COP dla pompy ciepła.
                </div>
            </div>
        </div>
    </div>

    <div class="rk-floor-footer-grid">
        <div class="rk-floor-info-card">
            <h4>Obliczenie wpływu oporu posadzki</h4>
            <p>Załóżmy zapotrzebowanie na poziomie gęstości strumienia <strong>q = 60 W/m²</strong>. Wzór na spadek temperatury na samej warstwie okładziny wyznacza się z prostej zależności:</p>
            <div class="rk-math-block">
                ΔT_okładziny = q · R
            </div>
            <p style="margin-top:10px;">Dla paneli musimy podnieść temperaturę wody zasilającej rozdzielacz o całe <strong>5,1 K</strong> względem układu z gresem, by dostarczyć do pokoju tyle samo ciepła.</p>
        </div>
        <div class="rk-floor-info-card">
            <h4>Wpływ na koszty pompy ciepła</h4>
            <p>
                Każde wymuszone <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/" style="color:var(--rk-floor-dark); font-weight:700;">podniesienie temperatury zasilania o 1°C</a> (aby przebić się przez barierę, jaką stanowią panele) skutkuje spadkiem sprawności sprężarki. W skali całego sezonu grzewczego oznacza to <strong>wzrost zużycia energii elektrycznej o około 2,5% na każdy stopień</strong>. Wybór drewna to ok. 12-15% wyższe rachunki za ogrzewanie.
            </p>
        </div>
    </div>
</div>

<script>
// 1. Zabezpieczenie domeny przed kradzieżą (bez H2/H3 w kodzie błędu)
document.addEventListener('DOMContentLoaded', function() {
    var checkDomain = window.location.hostname;
    var allowedHosts = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedHosts.indexOf(checkDomain) === -1) {
        var wrapperApp = document.getElementById('rk-floor-sim-app');
        if (wrapperApp) {
            wrapperApp.innerHTML = '<div style="padding:40px; text-align:center; background:#1f2937; color:#ef4444; border-radius:20px; border:2px solid #ef4444; font-family:sans-serif; font-size:15px;"><strong>Odmowa dostępu.</strong> Ten symulator jest licencjonowany wyłącznie dla witryny Projekt-Ogrzewania.pl.</div>';
        }
    }
});

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

    // Zmiana klas w kontenerze (uruchamia CSS SVG)
    if (type === 'tile') {
        container.className = 'rk-floor-container state-tile';
        
        document.getElementById('rk-val-r').innerHTML = "0,015 <span>m²·K/W</span>";
        document.getElementById('rk-val-dt').innerHTML = "0,9 <span>K</span>";
        document.getElementById('rk-val-power').innerHTML = "85 - 100 <span>W/m²</span>";
        document.getElementById('rk-val-cost').innerHTML = "0% <span>(Baza)</span>";

        msgBox.innerHTML = "<strong>Idealny przesył energii.</strong> Ceramika wykazuje znikomy opór cieplny. Ogrzewanie podłogowe pracuje na minimalnych temperaturach zasilania, co gwarantuje najwyższy możliwy współczynnik COP dla pompy ciepła.";
        
    } else {
        container.className = 'rk-floor-container state-wood';
        
        document.getElementById('rk-val-r').innerHTML = "0,10 <span>m²·K/W</span>";
        document.getElementById('rk-val-dt').innerHTML = "6,0 <span>K</span>";
        document.getElementById('rk-val-power').innerHTML = "50 - 65 <span>W/m²</span>";
        document.getElementById('rk-val-cost').innerHTML = "+ 12,5% <span>(Straty)</span>";

        msgBox.innerHTML = "<strong>Izolator na podłogówce.</strong> Panele lub deski stawiają opór, blokując ciepło. Instalacja <a href='https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/' style='color:#ef4444; font-weight:700;'>wymusza podniesienie parametru zasilania</a> o dodatkowe ~5°C, by osiągnąć tę samą temperaturę w pomieszczeniu.";
    }
}
</script>



<style>
:root {
    --rk-err-dark: #0f172a; /* Głęboki asfaltowy grafit */
    --rk-err-alert: #eab308; /* Żółć ostrzegawcza (Safety Yellow) */
    --rk-err-alert-light: #fef9c3;
    --rk-err-danger: #ef4444; /* Alarmowa czerwień */
    --rk-err-danger-light: #fef2f2;
    --rk-err-bg: #f8fafc;
    --rk-err-card: #ffffff;
    --rk-err-text: #334155;
    --rk-err-border: #e2e8f0;
}

.rk-err-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.2);
    border: 1px solid rgba(234, 179, 8, 0.3);
    overflow: hidden;
}

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

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

.rk-err-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(234, 179, 8, 0.15);
    color: #fef08a;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    border: 1px solid rgba(254, 240, 138, 0.2);
}

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

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

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

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

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

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

.rk-err-grid-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 30px;
}

/* Lewa strona: Selektor błędów */
.rk-err-menu {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-menu-btn {
    padding: 15px;
    background: #ffffff;
    border: 2px solid var(--rk-err-border);
    border-radius: 12px;
    text-align: left;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-err-text);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    line-height: 1.4;
}

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

.rk-menu-btn.active[data-err="dust"] { border-color: var(--rk-err-alert); background: var(--rk-err-alert-light); color: #854d0e; }
.rk-menu-btn.active[data-err="deep"] { border-color: var(--rk-err-danger); background: var(--rk-err-danger-light); color: #991b1b; }
.rk-menu-btn.active[data-err="bend"] { border-color: #a855f7; background: #f3e8ff; color: #6b21a8; }

/* Prawa strona: Monitor rentgenowski i SVG */
.rk-err-monitor {
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
}

.rk-err-visual-frame {
    background: #1e1b4b; /* Ciemne indygo dla efektu RTG */
    border-radius: 12px;
    padding: 20px;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    border: 2px solid #312e81;
}

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

/* Elementy i warstwy SVG */
.svg-layer-dust { opacity: 0; transition: opacity 0.4s; }
.svg-screed-crack { opacity: 0; stroke-dasharray: 40; stroke-dashoffset: 40; transition: opacity 0.4s; }
.svg-foil-cut { d: path("M 10 80 L 90 80"); transition: all 0.4s; }
.svg-pipe-kink { d: path("M 35 30 Q 50 40 65 30"); transition: all 0.4s; }

/* --- STANY ANIMACJI DLA POSZCZEGÓLNYCH BŁĘDÓW --- */
/* Stan: dust (Brak odkurzania i gruntu) */
.state-dust .svg-layer-dust { opacity: 1; }
.state-dust .svg-screed-crack { opacity: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 0.6s 0.2s ease-out; }

/* Stan: deep (Zbyt głębokie cięcie) */
.state-deep .svg-screed-box { transform: translateY(12px); } /* Symulacja głębszego cięcia */
.state-deep .svg-foil-cut { d: path("M 10 80 L 42 80 L 50 92 L 58 80 L 90 80"); stroke: var(--rk-err-danger); }

/* Stan: bend (Zły promień gięcia) */
.state-bend .svg-pipe-kink { d: path("M 35 30 L 50 52 L 65 30"); stroke: #c084fc; stroke-width: 10; }

/* Tekst dynamiczny */
.rk-err-dynamic-text {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-err-text);
    min-height: 80px;
}

/* Dolna sekcja z kafelkami dla Mobile */
.rk-err-footer-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 30px 50px 40px;
    background: #ffffff;
}

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

.rk-err-tile-card h4 {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0 0 8px 0;
}

.rk-err-tile-card p {
    font-size: 12px;
    line-height: 1.5;
    color: #64748b;
    margin: 0;
}

@media (max-width: 768px) {
    .rk-err-header, .rk-err-interactive { padding: 30px 20px; }
    .rk-err-grid-layout { grid-template-columns: 1fr; }
    .rk-err-footer-list { grid-template-columns: 1fr; padding: 0 20px 30px; gap: 15px; }
    .rk-err-title { font-size: 24px; }
    .rk-err-visual-frame { height: 150px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Najczęstsze błędy wykonawcze podczas frezowania podłogówki",
    "description": "Przewodnik po awariach i uchybieniach montażowych. Dowiedz się, dlaczego brak odkurzania bruzd, brak dylatacji i zbyt mały promień gięcia niszczą jastrych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-awarie",
    "name": "Wskaźniki fizyczne i strukturalne błędów wykonawczych",
    "description": "Zestawienie fizycznych wartości granicznych naprężeń termicznych, długości osłon oraz ciśnień kontrolnych dla systemów jastrychów nacinanych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy wykonawcze frezowania ogrzewania",
      "odparzenie jastrychu naprężenia termiczne",
      "promień gięcia rury pex pert",
      "norma PN-EN 1264-4 dylatacje",
      "ciśnieniowa próba szczelności podłogówki"
    ],
    "measurementTechnique": "Analiza wytrzymałościowa adhezji zapraw pod wpływem naprężeń termicznych powyżej 0,2 N/mm² oraz weryfikacja spadków ciśnienia testowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Naprężenia termiczne: Przekroczenie 0,2 N/mm² przy braku gruntu powoduje nieodwracalne odspojenie okładziny.",
        "Promień łuku: Przekroczenie kryterium r < 5d generuje mikropęknięcia struktury polimeru i wzrost oporów o 40%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-detektor-bledow",
    "name": "Interaktywny Detektor Uszkodzeń Przegrody",
    "description": "Aplikacja symulująca rtg posadzki i wizualizująca skutki mechaniczne oraz hydrauliczne zaniechania procedur normatywnych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-damage-detector-app">
    <div class="rk-err-header">
        <div class="rk-err-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Czerwone Flagi Montażu
        </div>
        <h2 class="rk-err-title">Jakie są najczęstsze błędy wykonawcze podczas frezowania podłogówki?</h2>
        <p class="rk-err-intro">
            Najpoważniejszym uchybieniem jest niedokładne oczyszczenie i zaniechanie gruntowania wyfrezowanych rowków przed aplikacją masy wypełniającej. Skutkuje to brakiem adhezji i <strong>odparzeniem jastrychu pod wpływem naprężeń termicznych o wartości powyżej 0,2 N/mm²</strong>. Pył powstały podczas cięcia działa jak warstwa separacyjna – jeśli nie zostanie odessany odkurzaczem przemysłowym klasy M, wlewana masa naprawcza nie zwiąże się strukturalnie z podłożem.
        </p>
        <p class="rk-err-intro" style="margin-top: 15px;">
            Kolejnym krytycznym błędem jest <strong>zbyt głębokie frezowanie (powyżej 25 mm)</strong>, które w wylewkach o grubości 40 mm przecina jastrych na wylot, niszcząc izolację przeciwwilgociową z folii i doprowadzając do penetracji wody w głąb stropu.
        </p>
    </div>

    <div class="rk-err-interactive">
        <div id="rk-err-view-core" class="rk-err-grid-layout state-dust">
            
            <div class="rk-err-menu">
                <button class="rk-menu-btn active" data-err="dust" onclick="rkToggleError('dust')">1. Pył i brak gruntowania bruzd</button>
                <button class="rk-menu-btn" data-err="deep" onclick="rkToggleError('deep')">2. Zbyt głęboki wykop frezarki</button>
                <button class="rk-menu-btn" data-err="bend" onclick="rkToggleError('bend')">3. Załamanie rury na zakręcie</button>
            </div>

            <div class="rk-err-monitor">
                <div class="rk-err-visual-frame">
                    <svg class="rk-err-svg" viewBox="0 0 100 100">
                        <rect x="0" y="85" width="100" height="15" fill="#1e1b4b"/>
                        
                        <path class="svg-foil-cut" fill="none" stroke="#6366f1" stroke-width="2"/>

                        <g class="svg-screed-box" style="transition: transform 0.4s;">
                            <rect x="10" y="30" width="80" height="50" fill="#475569" opacity="0.8"/>
                            <path d="M 35 30 L 35 60 L 65 60 L 65 30" fill="#1e1b4b"/>
                            
                            <path class="svg-layer-dust" d="M 35 30 L 35 60 L 65 60 L 65 30" fill="none" stroke="#eab308" stroke-width="3"/>
                            
                            <path class="svg-pipe-kink" fill="none" stroke="#ef4444" stroke-width="8" stroke-linecap="round"/>
                            <path class="svg-pipe-kink" fill="none" stroke="#38bdf8" stroke-width="4" stroke-linecap="round"/>

                            <path class="svg-screed-crack" d="M 35 45 L 20 40 M 65 50 L 85 55 M 50 60 L 50 75" fill="none" stroke="#ef4444" stroke-width="2" stroke-linecap="round"/>
                        </g>
                    </svg>
                </div>

                <div class="rk-err-dynamic-text" id="rk-err-text-content">
                    Wadliwe wykonanie. Pozostawiony mącznik i pył betonowy drastycznie ograniczają adhezję mas cementowych. Pod wpływem naprężeń termicznych powyżej <strong>0,2 N/mm²</strong> górna warstwa posadzki pęka i odkleja się od starego podłoża, niszcząc płytki lub panele.
                </div>
            </div>

        </div>
    </div>

    <div class="rk-err-footer-list">
        <div class="rk-err-tile-card" style="border-top: 3px solid var(--rk-err-alert);">
            <h4>Brak dylatacji progowych</h4>
            <p>
                Zignorowanie wytycznych normy <strong>PN-EN 1264-4</strong> w progach drzwiowych skutkuje pękaniem jastrychu. Rury przechodzące przez szczeliny dylatacyjne muszą bezwzględnie biec w peszlach ochronnych o długości min. <strong>400 mm</strong>.
            </p>
        </div>
        <div class="rk-err-tile-card" style="border-top: 3px solid #a855f7;">
            <h4>Zaginanie rury "na siłę"</h4>
            <p>
                Przekroczenie minimalnego promienia gięcia (<strong>r < 5d</strong>, czyli poniżej <strong>70 mm</strong> dla rury 14 mm) wywołuje mikropęknięcia struktury polimeru EVOH. <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" style="color:#a855f7; font-weight:700;">Zadławienie przekroju rury</a> podnosi opory hydrauliczne o ponad <strong>40%</strong>.
            </p>
        </div>
        <div class="rk-err-tile-card" style="border-top: 3px solid var(--rk-err-danger);">
            <h4>Zalewanie bez próby 0,6 MPa</h4>
            <p>
                Zalanie bruzd masą samopoziomującą bez wykonania 24-godzinnego testu szczelności to skrajna nieodpowiedzialność. Rury muszą pozostać pod <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" style="color:var(--rk-err-danger); font-weight:700;">roboczym ciśnieniem próbnym</a> podczas całego procesu aplikacji chemii budowlanej.
            </p>
        </div>
    </div>
</div>

<script>
// 1. Ochrona licencji kodu (bez tagów nagłówkowych H2/H3 w komunikacie)
document.addEventListener('DOMContentLoaded', function() {
    var currentDomain = window.location.hostname;
    var whitelist = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (whitelist.indexOf(currentDomain) === -1) {
        var wrapper = document.getElementById('rk-damage-detector-app');
        if (wrapper) {
            wrapper.innerHTML = '<div style="padding:40px; text-align:center; background:#1c1917; color:#ef4444; border-radius:20px; border:2px solid #ef4444; font-family:sans-serif; font-size:15px;"><strong>Naruszenie protokołu bezpieczeństwa.</strong> Skrypt monitorowania błędów wykonawczych jest przypisany wyłącznie do serwisu Projekt-Ogrzewania.pl.</div>';
        }
    }
});

// 2. Logika przełącznika błędów wykonawczych
function rkToggleError(errorType) {
    var coreView = document.getElementById('rk-err-view-core');
    var textFrame = document.getElementById('rk-err-text-content');

    // Reset klas widoku
    coreView.className = "rk-err-grid-layout";
    coreView.classList.add('state-' + errorType);

    // Zmiana klas aktywności przycisków menu
    var buttons = document.querySelectorAll('.rk-menu-btn');
    buttons.forEach(function(b) { b.classList.remove('active'); });
    document.querySelector('.rk-menu-btn[data-err="' + errorType + '"]').classList.add('active');

    // Dynamiczna aktualizacja tekstu inżynierskiego
    if (errorType === 'dust') {
        textFrame.innerHTML = "Wadliwe wykonanie. Pozostawiony mącznik i pył betonowy drastycznie ograniczają adhezję mas cementowych. Pod wpływem naprężeń termicznych powyżej <strong>0,2 N/mm²</strong> górna warstwa posadzki pęka i odkleja się od starego podłoża, niszcząc płytki lub panele.";
    } else if (errorType === 'deep') {
        textFrame.innerHTML = "Krytyczne osłabienie jastrychu. Frezowanie na głębokość powyżej <strong>25 mm</strong> przy cienkiej wylewce przecina beton konstrukcyjny i rozrywa dolną <a href='https://projekt-ogrzewania.pl/jakie-sposoby-izolacji-pod-ogrzewanie-podlogowe/' style='color:var(--rk-err-danger); font-weight:700;'>folię izolacyjną</a>. Woda z masy zarobowej przenika w głąb stropu, wywołując zacieki.";
    } else {
        textFrame.innerHTML = "Wada hydrauliczna. Gięcie rury ze zbyt małym promieniem (<strong>poniżej 70 mm</strong>) powoduje przewężenie przekroju (tzw. załamanie rury). Skutkuje to lokalnym <a href='https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/' style='color:#6b21a8; font-weight:700;'>wzrostem oporów hydraulicznych obwodu o ponad 40%</a> i dławieniem przepływu.";
    }
}
</script>



<style>
:root {
    --rk-cs2-dark: #0f172a; /* Głęboki granat */
    --rk-cs2-brand: #10b981; /* Szmaragdowy - Sukces */
    --rk-cs2-brand-light: #d1fae5;
    --rk-cs2-accent: #3b82f6; /* Błękit inżynierski */
    --rk-cs2-danger: #ef4444; /* Czerwony - Awaria/Błąd */
    --rk-cs2-danger-light: #fee2e2;
    --rk-cs2-bg: #f8fafc;
    --rk-cs2-card: #ffffff;
    --rk-cs2-text: #475569;
    --rk-cs2-border: #e2e8f0;
}

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

/* ================= HEADER ================= */
.rk-cs2-header {
    background: linear-gradient(135deg, var(--rk-cs2-dark) 0%, #1e293b 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.rk-cs2-header::after {
    content: '';
    position: absolute;
    top: -100px;
    right: -50px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(16, 185, 129, 0.15) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.rk-cs2-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #6ee7b7;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    border: 1px solid rgba(110, 231, 183, 0.2);
}

.rk-cs2-title {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 25px 0;
    color: #ffffff;
    position: relative;
    z-index: 2;
}

/* Kafelki metryczki w headerze */
.rk-cs2-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    position: relative;
    z-index: 2;
}

.rk-cs2-stat-box {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 15px;
    border-radius: 12px;
    backdrop-filter: blur(8px);
}

.rk-cs2-stat-label {
    display: block;
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
    letter-spacing: 0.5px;
}

.rk-cs2-stat-value {
    display: block;
    font-size: 17px;
    font-weight: 900;
    color: #ffffff;
}

/* ================= AUTOR I WSTĘP ================= */
.rk-cs2-intro-section {
    padding: 40px 50px 30px;
    background: #ffffff;
}

.rk-cs2-author-box {
    background: var(--rk-cs2-bg);
    border-left: 4px solid var(--rk-cs2-accent);
    padding: 20px;
    border-radius: 0 16px 16px 0;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
}

.rk-cs2-author-photo {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.2);
    flex-shrink: 0;
}

.rk-cs2-author-text {
    font-size: 15px;
    color: var(--rk-cs2-dark);
    line-height: 1.6;
    margin: 0;
}

.rk-cs2-author-text a {
    color: var(--rk-cs2-accent);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

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

.rk-cs2-lead strong {
    color: var(--rk-cs2-dark);
}

/* ================= INTERAKTYWNA ANALIZA BŁĘDU ================= */
.rk-cs2-interactive {
    padding: 0 50px 40px;
}

.rk-cs2-sim-wrapper {
    background: #ffffff;
    border: 1px solid var(--rk-cs2-border);
    border-radius: 20px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    overflow: hidden;
}

/* Zakładki sterujące */
.rk-cs2-tabs {
    display: flex;
    border-bottom: 1px solid var(--rk-cs2-border);
    background: var(--rk-cs2-bg);
}

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

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

.rk-cs2-tab-btn.active[data-view="amateur"] {
    background: #ffffff;
    color: #b91c1c;
    border-bottom: 3px solid var(--rk-cs2-danger);
}

.rk-cs2-tab-btn.active[data-view="pro"] {
    background: #ffffff;
    color: #047857;
    border-bottom: 3px solid var(--rk-cs2-brand);
}

/* Ekran SVG + Wyniki */
.rk-cs2-screen {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 30px;
    padding: 30px;
}

.rk-cs2-visual {
    background: var(--rk-cs2-dark);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border: 2px solid #1e293b;
}

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

/* --- NOWE Animacje i warstwy dla rzutu (Blueprint) --- */
.svg-blueprint-path { fill: none; stroke-linecap: round; stroke-linejoin: round; transition: opacity 0.4s; }
.svg-flow-anim { stroke-dasharray: 8 8; animation: flowBlueprint 1s linear infinite; }
.svg-gauge-pointer { transform-origin: 50px 50px; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }

@keyframes flowBlueprint { to { stroke-dashoffset: -16; } }
@keyframes pulseDanger { 0% { filter: drop-shadow(0 0 2px #ef4444); } 100% { filter: drop-shadow(0 0 10px #ef4444); } }

/* Stan 1: Amatorski (1 długa pętla = Błąd) */
.state-amateur .svg-blueprint-amateur { opacity: 1; stroke: #ef4444; }
.state-amateur .svg-blueprint-pro { opacity: 0; }
.state-amateur .svg-gauge-pointer { transform: rotate(120deg); stroke: #ef4444; }
.state-amateur .svg-danger-ring { stroke: #ef4444; animation: pulseDanger 1s infinite alternate; opacity: 1; }

/* Stan 2: Pro (3 krótkie strefy = Sukces) */
.state-pro .svg-blueprint-amateur { opacity: 0; }
.state-pro .svg-blueprint-pro { opacity: 1; stroke: #10b981; }
.state-pro .svg-gauge-pointer { transform: rotate(-50deg); stroke: #10b981; }
.state-pro .svg-danger-ring { opacity: 0; }

/* Panel Wyników Textowych */
.rk-cs2-data-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-cs2-data-title {
    font-size: 18px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: var(--rk-cs2-dark);
}

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

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

.rk-cs2-metric-box {
    background: var(--rk-cs2-bg);
    border: 1px solid var(--rk-cs2-border);
    padding: 15px;
    border-radius: 12px;
}

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

.state-amateur .dyn-color { color: #dc2626; }
.state-pro .dyn-color { color: #059669; }

/* ================= REZULTATY I CTA ================= */
.rk-cs2-results-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 50px 40px;
}

.rk-cs2-result-card {
    background: #ffffff;
    border: 1px solid var(--rk-cs2-border);
    padding: 25px;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
}

.rk-cs2-result-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--rk-cs2-brand);
}

.rk-cs2-result-card.gold::before { background: #f59e0b; }

.rk-cs2-result-lbl { font-size: 12px; color: #64748b; font-weight: 800; text-transform: uppercase; margin-bottom: 10px; }
.rk-cs2-result-val { font-size: 26px; font-weight: 900; color: var(--rk-cs2-dark); margin-bottom: 10px; }
.rk-cs2-result-desc { font-size: 13px; color: var(--rk-cs2-text); line-height: 1.5; margin: 0; }

/* CTA */
.rk-cs2-cta {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    padding: 40px 50px;
    text-align: center;
    border-top: 4px solid var(--rk-cs2-accent);
}

.rk-cs2-cta-h3 { font-size: 22px; font-weight: 900; color: #ffffff; margin: 0 0 15px 0; }
.rk-cs2-cta-p { font-size: 15px; color: #94a3b8; line-height: 1.6; max-width: 700px; margin: 0 auto 30px auto; }

.rk-cs2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-cs2-accent);
    color: #ffffff;
    font-size: 16px;
    font-weight: 900;
    padding: 18px 36px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(59, 130, 246, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-cs2-btn:hover { transform: translateY(-4px); background: #2563eb; box-shadow: 0 15px 35px -5px rgba(59, 130, 246, 0.5); }
.rk-cs2-btn svg { transition: transform 0.3s; }
.rk-cs2-btn:hover svg { transform: translateX(5px); }

@media (max-width: 768px) {
    .rk-cs2-header, .rk-cs2-intro-section, .rk-cs2-interactive, .rk-cs2-cta { padding: 30px 20px; }
    .rk-cs2-stats-grid { grid-template-columns: 1fr 1fr; }
    .rk-cs2-author-box { flex-direction: column; text-align: center; border-left: none; border-top: 4px solid var(--rk-cs2-accent); border-radius: 0 0 16px 16px; }
    .rk-cs2-tabs { flex-direction: column; }
    .rk-cs2-screen { grid-template-columns: 1fr; padding: 20px; }
    .rk-cs2-results-grid { grid-template-columns: 1fr; padding: 0 20px 30px; }
    .rk-cs2-visual { height: 220px; }
    .rk-cs2-title { font-size: 24px; }
    .rk-cs2-btn { width: 100%; padding: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Case Study: Rzeczywisty projekt termomodernizacji w Szczecinie",
    "description": "Analiza inżynierska termomodernizacji 135 m² domu ze zmianą źródła ciepła na pompę. Redukcja pętli z 110m do 72m uchroniła instalację przed oporami rzędu 38 kPa.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-szczecin",
    "name": "Parametry Projektowe i Oszczędności - Termomodernizacja Szczecin",
    "description": "Zestawienie parametrów wejściowych budynku wykorzystanych do optymalizacji hydraulicznej zasilania ogrzewania podłogowego po frezowaniu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego frezowanego",
      "opory hydrauliczne 38 kpa rura 14mm",
      "maksymalna długość pętli ogrzewania podłogowego",
      "projektowe obciążenie cieplne budynku 7.8 kw",
      "wymiana kotła na pompę ciepła szczecin"
    ],
    "measurementTechnique": "Obliczenia hydrauliczne długości pętli (max 72 m) względem projektowego obciążenia cieplnego (7,8 kW) w celu zapobieżenia zjawisku dławienia przepływów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przed poprawkami OZC: Planowane pętle 110 m, opór krytyczny 38 kPa (awaria).",
        "Po wdrożeniu OZC: Podział na 11 pętli max 72 m, opór bezpieczny 14,2 kPa, roczne oszczędności eksploatacyjne 42%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-symulator-szczecin",
    "name": "Symulator Optymalizacji Hydraulicznej Szczecin",
    "description": "Panel analityczny wizualizujący błąd przewymiarowania długości pętli i wzrostu oporów względem optymalnego podziału obiegów grzewczych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs2-container" id="rk-casestudy-app">
    <div class="rk-cs2-header">
        <div class="rk-cs2-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
            Case Study (Projekt Wdrożeniowy)
        </div>
        <h2 class="rk-cs2-title">Rzeczywisty projekt termomodernizacji w Szczecinie</h2>
        
        <div class="rk-cs2-stats-grid">
            <div class="rk-cs2-stat-box">
                <span class="rk-cs2-stat-label">Termin</span>
                <span class="rk-cs2-stat-value">Wrzesień 2026</span>
            </div>
            <div class="rk-cs2-stat-box">
                <span class="rk-cs2-stat-label">Lokalizacja</span>
                <span class="rk-cs2-stat-value">Szczecin</span>
            </div>
            <div class="rk-cs2-stat-box">
                <span class="rk-cs2-stat-label">Powierzchnia</span>
                <span class="rk-cs2-stat-value">135 m²</span>
            </div>
            <div class="rk-cs2-stat-box">
                <span class="rk-cs2-stat-label">System</span>
                <span class="rk-cs2-stat-value">Pompa Ciepła</span>
            </div>
        </div>
    </div>

    <div class="rk-cs2-intro-section">
        <div class="rk-cs2-author-box">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski Inżynier HVAC" class="rk-cs2-author-photo" loading="lazy">
            <p class="rk-cs2-author-text">
                "Inwestor Mariusz zmagał się z problemem drastycznie wysokich kosztów utrzymania starego kotła węglowego. Całkowity brak możliwości podniesienia posadzek (osadzone ościeżnice) narzucił jedyne racjonalne rozwiązanie..." – <strong><a href="https://projekt-ogrzewania.pl/">Robert Kucharski</a></strong>, CEO.
            </p>
        </div>
        
        <p class="rk-cs2-lead">
            Szybka odpowiedź inżynierska polegała na całkowitej rezygnacji z grzejników na rzecz frezowania wylewki jastrychowej pod rury 14x2 mm. Rozstaw ustalono na <strong>100 mm w strefach brzegowych</strong> i łazience oraz 150 mm w salonie. Pozwoliło to na zasilanie układu bardzo niskim parametrem 35°C z pompy ciepła split.
        </p>
        <p class="rk-cs2-lead" style="margin:0;">
            Optymalnie wykorzystaliśmy stary jastrych o grubości 45 mm. Po wycięciu bruzd na 20 mm, podłoga zachowała pełną stabilność. Mikroskopijna masa przykrywająca (zaledwie 3 mm chemii) zredukowała opór cieplny, <strong>skracając czas nagrzewania do zaledwie 45 minut!</strong>
        </p>
    </div>

    <div class="rk-cs2-interactive">
        <div class="rk-cs2-sim-wrapper">
            <div class="rk-cs2-tabs">
                <button class="rk-cs2-tab-btn active" data-view="amateur" onclick="rkSwitchCase('amateur')">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Błąd Instalatora (Instalacja z głowy)
                </button>
                <button class="rk-cs2-tab-btn" data-view="pro" onclick="rkSwitchCase('pro')">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
                    Wdrożenie Projektu (Obliczenia OZC)
                </button>
            </div>

            <div id="rk-cs2-screen" class="rk-cs2-screen state-amateur">
                
                <div class="rk-cs2-visual">
                    <svg class="rk-cs2-svg" viewBox="0 0 100 100">
                        <rect x="5" y="5" width="90" height="90" fill="none" stroke="#334155" stroke-width="2"/>
                        <rect x="7" y="7" width="86" height="86" fill="#1e293b"/>

                        <rect x="2" y="15" width="6" height="70" fill="#64748b" rx="1"/>

                        <path class="svg-blueprint-path svg-blueprint-amateur svg-flow-anim" d="M 8 20 L 85 20 L 85 30 L 15 30 L 15 40 L 85 40 L 85 50 L 15 50 L 15 60 L 85 60 L 85 70 L 15 70 L 15 80 L 8 80" stroke-width="3" stroke-linejoin="round"/>

                        <path class="svg-blueprint-path svg-blueprint-pro svg-flow-anim" d="M 8 16 L 85 16 L 85 30 L 8 30" stroke-width="3" stroke-linejoin="round"/>
                        <path class="svg-blueprint-path svg-blueprint-pro svg-flow-anim" d="M 8 43 L 85 43 L 85 57 L 8 57" stroke-width="3" stroke-linejoin="round" style="animation-delay: 0.3s;"/>
                        <path class="svg-blueprint-path svg-blueprint-pro svg-flow-anim" d="M 8 70 L 85 70 L 85 84 L 8 84" stroke-width="3" stroke-linejoin="round" style="animation-delay: 0.6s;"/>

                        <circle cx="50" cy="50" r="18" fill="#0f172a" stroke="#475569" stroke-width="2"/>
                        <circle class="svg-danger-ring" cx="50" cy="50" r="18" fill="none" stroke-width="2"/>
                        <path d="M 40 50 A 10 10 0 1 1 60 50" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round"/>
                        <line class="svg-gauge-pointer" x1="50" y1="50" x2="50" y2="40" stroke-width="2.5" stroke-linecap="round"/>
                        <circle cx="50" cy="50" r="2.5" fill="#cbd5e1"/>
                    </svg>
                </div>

                <div class="rk-cs2-data-panel">
                    <h4 class="rk-cs2-data-title" id="cs2-title">Zamknięcie Hydrauliczne Pętli</h4>
                    <p class="rk-cs2-data-desc" id="cs2-desc">
                        Pierwotny instalator chciał układać pętle o długości 110 m dla rury 14 mm. Taka odległość drastycznie dławi przepływ, tworząc gigantyczny opór. Woda omijałaby tę pętlę, a pomieszczenie pozostałoby zimne.
                    </p>
                    <div class="rk-cs2-metrics">
                        <div class="rk-cs2-metric-box">
                            <div class="rk-cs2-metric-lbl">Długość pętli</div>
                            <div class="rk-cs2-metric-val dyn-color" id="cs2-val-len">110 <span>mb</span></div>
                        </div>
                        <div class="rk-cs2-metric-box">
                            <div class="rk-cs2-metric-lbl">Opór całkowity</div>
                            <div class="rk-cs2-metric-val dyn-color" id="cs2-val-pres">38,0 <span>kPa (Krytyczny)</span></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-cs2-results-grid">
        <div class="rk-cs2-result-card">
            <div class="rk-cs2-result-lbl">Bilans OZC (-20°C)</div>
            <div class="rk-cs2-result-val">7,8 kW</div>
            <p class="rk-cs2-result-desc">Zapotrzebowanie wyliczone przez inżyniera. Gęstość strumienia cieplnego to zaledwie <strong>58 W/m²</strong>.</p>
        </div>
        <div class="rk-cs2-result-card">
            <div class="rk-cs2-result-lbl">Roczne oszczędności</div>
            <div class="rk-cs2-result-val" style="color:var(--rk-cs2-brand);">42%</div>
            <p class="rk-cs2-result-desc">Tyle wynosi zysk na kosztach eksploatacji w porównaniu do starego systemu grzewczego na węgiel.</p>
        </div>
        <div class="rk-cs2-result-card gold">
            <div class="rk-cs2-result-lbl">Ochrona budżetu</div>
            <div class="rk-cs2-result-val" style="color:#b45309;">14 500 zł</div>
            <p class="rk-cs2-result-desc">Tyle inwestor uniknął strat za poprawki, wymianę zniszczonej pompy i naprawy odparzonego jastrychu.</p>
        </div>
    </div>

    <div class="rk-cs2-cta">
        <h3 class="rk-cs2-cta-h3">Chcesz uniknąć błędów, które kosztują tysiące?</h3>
        <p class="rk-cs2-cta-p">
            Zastosowanie rur z barierą antydyfuzyjną EVOH, rygorystyczne trzymanie się oporów hydraulicznych i dobór pompy na bazie OZC to klucz do sukcesu. Zainwestuj w spokój na lata.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-cs2-btn">
            ZAMÓW PROJEKT INSTALACJI PODŁOGOWEJ
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>

</div>

<script>
// 1. Zabezpieczenie przed nieautoryzowanym skopiowaniem (Bez tagów H w komunikacie)
document.addEventListener('DOMContentLoaded', function() {
    var checkDom = window.location.hostname;
    var allowedDom = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDom.indexOf(checkDom) === -1) {
        var wrapApp = document.getElementById('rk-casestudy-app');
        if (wrapApp) {
            wrapApp.innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:24px; border:2px solid #ef4444; font-family:sans-serif; font-size:16px;"><strong>Odmowa autoryzacji licencji.</strong> Moduł Case Study jest własnością intelektualną serwisu Projekt-Ogrzewania.pl.</div>';
        }
    }
});

// 2. Logika przełączania symulacji (Amator vs Inżynier)
function rkSwitchCase(mode) {
    var screen = document.getElementById('rk-cs2-screen');
    
    // Zmiana aktywności zakładek
    var tabs = document.querySelectorAll('.rk-cs2-tab-btn');
    tabs.forEach(function(t) { t.classList.remove('active'); });
    document.querySelector('.rk-cs2-tab-btn[data-view="' + mode + '"]').classList.add('active');

    // Wymiana danych tekstowych i klas animacji
    if (mode === 'pro') {
        screen.className = 'rk-cs2-screen state-pro';
        document.getElementById('cs2-title').innerText = "Inżynierski Podział Obwodów";
        document.getElementById('cs2-desc').innerHTML = "Dzięki interwencji zaimplementowano projekt oparty o <strong>11 pętli o maksymalnej długości 72 m</strong>. Opór spadł do bezpiecznej wartości. Pompa obiegowa działa na średnim biegu, zużywając zaledwie 22W energii elektrycznej.";
        document.getElementById('cs2-val-len').innerHTML = "max 72 <span>mb</span>";
        document.getElementById('cs2-val-pres').innerHTML = "14,2 <span>kPa (Bezpieczny)</span>";
    } else {
        screen.className = 'rk-cs2-screen state-amateur';
        document.getElementById('cs2-title').innerText = "Zamknięcie Hydrauliczne Pętli";
        document.getElementById('cs2-desc').innerHTML = "Pierwotny instalator chciał układać pętle o długości 110 m dla rury 14 mm. Taka odległość drastycznie dławi przepływ, tworząc gigantyczny opór. Woda omijałaby tę pętlę, a pomieszczenie pozostałoby zimne.";
        document.getElementById('cs2-val-len').innerHTML = "110 <span>mb</span>";
        document.getElementById('cs2-val-pres').innerHTML = "38,0 <span>kPa (Krytyczny)</span>";
    }
}
</script>



<style>
:root {
    --rk-quote-dark: #0f172a; /* Głęboki granat */
    --rk-quote-brand: #10b981; /* Szmaragd / Sukces */
    --rk-quote-accent: #f59e0b; /* Inżynierskie Złoto */
    --rk-quote-danger: #ef4444; /* Czerwień / Błąd */
    --rk-quote-bg: #f8fafc;
    --rk-quote-card: #ffffff;
    --rk-quote-text: #475569;
    --rk-quote-border: #e2e8f0;
}

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

/* ================= HEADER & CYTAT ================= */
.rk-quote-header {
    background: linear-gradient(135deg, #1e293b 0%, var(--rk-quote-dark) 100%);
    padding: 50px 60px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
    border-bottom: 4px solid var(--rk-quote-accent);
}

.rk-quote-header::before {
    content: '"';
    position: absolute;
    top: -20px;
    left: 20px;
    font-size: 200px;
    font-family: serif;
    color: rgba(255, 255, 255, 0.05);
    line-height: 1;
    pointer-events: none;
}

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

.rk-quote-text {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.6;
    color: #f1f5f9;
    margin: 0 0 25px 0;
    font-style: italic;
}

.rk-quote-author {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-quote-photo {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--rk-quote-accent);
}

.rk-quote-author-details h4 {
    margin: 0 0 4px 0;
    font-size: 16px;
    font-weight: 900;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-quote-author-details p {
    margin: 0;
    font-size: 13px;
    color: #94a3b8;
    font-weight: 600;
}

/* ================= WNIOSKI INTERAKTYWNE ================= */
.rk-quote-interactive {
    padding: 40px 50px;
    background: var(--rk-quote-bg);
}

.rk-quote-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
    justify-content: center;
}

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

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

.rk-quote-tab-btn.active[data-view="rule"] {
    border-color: var(--rk-quote-brand);
    background: #ecfdf5;
    color: #065f46;
    box-shadow: 0 8px 20px -5px rgba(16, 185, 129, 0.2);
}

.rk-quote-tab-btn.active[data-view="trap"] {
    border-color: var(--rk-quote-danger);
    background: #fef2f2;
    color: #991b1b;
    box-shadow: 0 8px 20px -5px rgba(239, 68, 68, 0.2);
}

/* Panel SVG + Tekst */
.rk-quote-screen {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-quote-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-quote-visual {
    background: var(--rk-quote-dark);
    border-radius: 12px;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border: 2px solid #1e293b;
    height: 180px;
}

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

/* --- Animacje SVG --- */
.svg-q-pipe { stroke-dasharray: 8 8; animation: qFlow 1s linear infinite; }
.svg-q-dust { opacity: 0; animation: qDustFloat 2s infinite alternate; }
.svg-q-crack { stroke-dasharray: 50; stroke-dashoffset: 50; transition: stroke-dashoffset 0.5s ease-out; }
.svg-q-heat { stroke-dasharray: 6 6; animation: qHeatUp 1.5s linear infinite; }

@keyframes qFlow { to { stroke-dashoffset: -16; } }
@keyframes qDustFloat { 0% { transform: translateY(0); opacity: 0.2; } 100% { transform: translateY(-5px); opacity: 0.8; } }
@keyframes qHeatUp { to { stroke-dashoffset: -12; } }

/* Stan: Rule (Sukces) */
.state-rule .svg-q-concrete { fill: #334155; }
.state-rule .svg-q-pipe-bg { fill: #1e293b; stroke: #10b981; }
.state-rule .svg-q-pipe { stroke: #10b981; }
.state-rule .svg-q-dust { display: none; }
.state-rule .svg-q-crack { display: none; }
.state-rule .svg-q-heat { opacity: 1; stroke: #f59e0b; }

/* Stan: Trap (Błąd) */
.state-trap .svg-q-concrete { fill: #475569; }
.state-trap .svg-q-pipe-bg { fill: #1e293b; stroke: #ef4444; }
.state-trap .svg-q-pipe { stroke: #ef4444; animation-duration: 3s; } /* Słaby przepływ */
.state-trap .svg-q-dust { display: block; }
.state-trap .svg-q-crack { stroke-dashoffset: 0; stroke: #ef4444; }
.state-trap .svg-q-heat { opacity: 0; } /* Brak ciepła */

/* Tekst podsumowania */
.rk-quote-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-quote-info-title {
    font-size: 18px;
    font-weight: 900;
    margin: 0 0 12px 0;
    color: var(--rk-quote-dark);
}

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

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

@media (max-width: 768px) {
    .rk-quote-header { padding: 40px 25px; }
    .rk-quote-text { font-size: 18px; }
    .rk-quote-interactive { padding: 30px 20px; }
    .rk-quote-tabs { flex-direction: column; gap: 10px; }
    .rk-quote-tab-btn { max-width: 100%; }
    .rk-quote-screen { grid-template-columns: 1fr; padding: 20px; }
    .rk-quote-visual { height: 160px; max-width: 280px; margin: 0 auto; width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Podsumowanie eksperckie – Frezowanie podłogówki",
    "description": "Frezowanie starej wylewki to technologiczny skrót, który wymaga ogromnej precyzji. Odkryj główne zasady i pułapki modernizacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-wnioski",
    "name": "Zestawienie kluczowych parametrów bezpieczeństwa modernizacji",
    "description": "Ostateczna weryfikacja poprawności montażu systemu cienkowarstwowego w oparciu o czystość, adhezję i obliczenia OZC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie frezowania podłogówki",
      "złote zasady montażu ogrzewania",
      "odkurzanie bruzd frezowanych",
      "pękanie starej wylewki",
      "zastosowanie bariery evoh"
    ],
    "measurementTechnique": "Weryfikacja organoleptyczna oraz analityczna szczelności hydraulicznej i stabilności mechanicznej zmodernizowanej przegrody.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Złota Zasada: Idealne odessanie pyłu, zastosowanie rury EVOH, dokładne zgruntowanie bruzd.",
        "Główny Błąd: Pozostawienie pyłu separacyjnego, brak obliczeń oporów hydraulicznych, rura bez bariery antytlenowej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-wnioski",
    "name": "Interaktywny Panel Podsumowujący",
    "description": "Narzędzie edukacyjne wizualizujące różnice fizyczne pomiędzy prawidłowo zrealizowaną modernizacją a najczęstszymi błędami instalatorskimi.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-quote-container" id="rk-quote-app">
    <div class="rk-quote-header">
        <div class="rk-quote-content">
            <p class="rk-quote-text">
                "Frezowanie starej wylewki to wspaniały technologiczny skrót, który wybacza brak miejsca na grube izolacje, ale nigdy nie wybacza braku precyzji wykonawczej. Bez dokładnego odsysania pyłu, rury z barierą EVOH i rzetelnego bilansu OZC, ten skrót bardzo szybko zamienia się w najdroższą drogę do awarii całej posadzki."
            </p>
            <div class="rk-quote-author">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-quote-photo" loading="lazy">
                <div class="rk-quote-author-details">
                    <h4>Robert Kucharski</h4>
                    <p>CEO, Projekt-Ogrzewania.pl</p>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-quote-interactive">
        <div class="rk-quote-tabs">
            <button class="rk-quote-tab-btn active" data-view="rule" onclick="rkSwitchQuote('rule')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Złota Zasada Modernizacji
            </button>
            <button class="rk-quote-tab-btn" data-view="trap" onclick="rkSwitchQuote('trap')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                Najczęstsza Pułapka
            </button>
        </div>

        <div id="rk-quote-screen" class="rk-quote-screen state-rule">
            
            <div class="rk-quote-visual">
                <svg class="rk-quote-svg" viewBox="0 0 100 100">
                    <rect class="svg-q-concrete" x="10" y="30" width="80" height="60" rx="2" style="transition: fill 0.3s;"/>
                    
                    <path class="svg-q-pipe-bg" d="M 40 30 L 40 55 L 60 55 L 60 30" stroke-width="2" style="transition: stroke 0.3s;"/>
                    
                    <path class="svg-q-crack" d="M 40 55 L 30 75 M 60 55 L 75 80" fill="none" stroke-width="3" stroke-linecap="round"/>
                    
                    <g class="svg-q-dust" fill="#eab308">
                        <circle cx="43" cy="53" r="1.5" />
                        <circle cx="48" cy="50" r="1" style="animation-delay: 0.3s;"/>
                        <circle cx="55" cy="52" r="1.5" style="animation-delay: 0.6s;"/>
                        <circle cx="58" cy="48" r="1" style="animation-delay: 0.9s;"/>
                    </g>

                    <circle cx="50" cy="45" r="5" fill="#0f172a"/>
                    <circle class="svg-q-pipe" cx="50" cy="45" r="5" fill="none" stroke-width="2"/>

                    <path class="svg-q-heat" d="M 35 25 L 35 5 M 50 20 L 50 0 M 65 25 L 65 5" fill="none" stroke-width="3" stroke-linecap="round"/>
                </svg>
            </div>

            <div class="rk-quote-info">
                <h4 class="rk-quote-info-title" id="q-title">Czystość i Obliczenia to Fundament</h4>
                <p class="rk-quote-info-desc" id="q-desc">
                    W technologii cienkowarstwowej nie ma miejsca na błędy. Odessanie pyłu odkurzaczem klasy M, głębokie zgruntowanie wyfrezowanych rowków i zatopienie rury w masie polimerowej klasy <strong>C2TE</strong> gwarantuje idealny transfer ciepła i chroni wylewkę przed pękaniem.
                </p>
            </div>

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

<script>
// Zabezpieczenie przed kradzieżą (Bez tagów H)
document.addEventListener('DOMContentLoaded', function() {
    var checkDom = window.location.hostname;
    var allowedDom = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDom.indexOf(checkDom) === -1) {
        var wrapApp = document.getElementById('rk-quote-app');
        if (wrapApp) {
            wrapApp.innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:24px; border:2px solid #ef4444; font-family:sans-serif; font-size:16px;"><strong>Brak licencji.</strong> Kontener podsumowujący jest własnością serwisu Projekt-Ogrzewania.pl.</div>';
        }
    }
});

// Logika przełączania
function rkSwitchQuote(mode) {
    var screen = document.getElementById('rk-quote-screen');
    
    // Klasy przycisków
    var btns = document.querySelectorAll('.rk-quote-tab-btn');
    btns.forEach(function(b) { b.classList.remove('active'); });
    document.querySelector('.rk-quote-tab-btn[data-view="' + mode + '"]').classList.add('active');

    // Wymiana tekstu i klas CSS
    if (mode === 'rule') {
        screen.className = 'rk-quote-screen state-rule';
        document.getElementById('q-title').innerText = "Czystość i Obliczenia to Fundament";
        document.getElementById('q-desc').innerHTML = "W technologii cienkowarstwowej nie ma miejsca na błędy. Odessanie pyłu odkurzaczem klasy M, głębokie zgruntowanie wyfrezowanych rowków i zatopienie rury w masie polimerowej klasy <strong>C2TE</strong> gwarantuje idealny transfer ciepła i chroni wylewkę przed pękaniem.";
    } else {
        screen.className = 'rk-quote-screen state-trap';
        document.getElementById('q-title').innerText = "Pył Separacyjny i Ślepe Frezowanie";
        document.getElementById('q-desc').innerHTML = "Brak odkurzenia bruzd sprawia, że nowa masa nie łączy się ze starym betonem. Pył działa jak bufor izolacyjny. Naprężenia termiczne rur wyginają posadzkę, co kończy się <strong>odparzeniem jastrychu</strong> i pęknięciem ułożonych na wierzchu płytek ceramicznych.";
    }
}
</script>



<style>
:root {
    --rk-comp-dark: #1e293b; /* Chłodny antracyt */
    --rk-comp-brand: #06b6d4; /* Cyjan */
    --rk-comp-brand-light: #ecfeff;
    --rk-comp-accent: #6366f1; /* Fiolet techniczny */
    --rk-comp-bg: #f8fafc;
    --rk-comp-card: #ffffff;
    --rk-comp-text: #475569;
    --rk-comp-title: #0f172a;
    --rk-comp-border: #e2e8f0;
    --rk-comp-green: #10b981;
}

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

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

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

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

.rk-comp-title-h2 {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.35;
    margin: 0 0 15px 0;
    color: #ffffff;
}

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

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

/* Część Interaktywna - Karty i Porównanie */
.rk-comp-interactive {
    padding: 40px 50px;
    background: var(--rk-comp-bg);
}

.rk-comp-switcher-group {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-bottom: 35px;
}

.rk-comp-tab-btn {
    flex: 1;
    max-width: 260px;
    padding: 14px 18px;
    background: #ffffff;
    border: 2px solid var(--rk-comp-border);
    border-radius: 12px;
    font-size: 13.5px;
    font-weight: 800;
    color: var(--rk-comp-text);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-align: center;
    line-height: 1.3;
}

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

.rk-comp-tab-btn.active[data-tech="frez"] { border-color: var(--rk-comp-brand); background: var(--rk-comp-brand-light); color: #0891b2; box-shadow: 0 8px 16px -4px rgba(6, 182, 212, 0.15); }
.rk-comp-tab-btn.active[data-tech="suchy"] { border-color: var(--rk-comp-accent); background: #f5f3ff; color: #4f46e5; box-shadow: 0 8px 16px -4px rgba(99, 102, 241, 0.15); }
.rk-comp-tab-btn.active[data-tech="mokry"] { border-color: #64748b; background: #f8fafc; color: #334155; box-shadow: 0 8px 16px -4px rgba(100, 116, 139, 0.15); }

/* Główny Ekran Porównania (Karty i SVG) */
.rk-comp-display-view {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 30px;
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

/* SVG Wizualizacje Technologii */
.rk-comp-visual-frame {
    background: #0f172a;
    border-radius: 12px;
    padding: 15px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    border: 2px solid #1e293b;
}

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

/* Animacje i Przejścia SVG */
.svg-tech-group { display: none; opacity: 0; transition: opacity 0.4s ease; }
.state-frez .svg-frez { display: block; opacity: 1; }
.state-suchy .svg-suchy { display: block; opacity: 1; }
.state-mokry .svg-mokry { display: block; opacity: 1; }

.anim-wave-frez { stroke-dasharray: 6 6; animation: flowFrez 1.2s linear infinite; }
.anim-wave-suchy { stroke-dasharray: 4 4; animation: flowFrez 0.8s linear infinite; }
.anim-wave-mokry { stroke-dasharray: 12 12; animation: flowFrez 2.5s linear infinite; }

@keyframes flowFrez { to { stroke-dashoffset: -24; } }

/* Specyfikacja w Kafelkach (Zamiast tabeli) */
.rk-spec-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-spec-card {
    background: var(--rk-comp-bg);
    border: 1px solid var(--rk-comp-border);
    padding: 16px 20px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-spec-lbl { font-size: 11px; color: #64748b; font-weight: 700; text-transform: uppercase; margin-bottom: 6px; letter-spacing: 0.5px; }
.rk-spec-val { font-size: 15px; font-weight: 800; color: var(--rk-comp-title); line-height: 1.4; }

/* Dynamiczne modyfikatory wartości dla Frezowania */
.val-highlight { font-weight: 900; }
.state-frez .val-highlight { color: var(--rk-comp-green); }
.state-suchy .val-highlight { color: var(--rk-comp-accent); }
.state-mokry .val-highlight { color: #475569; }

@media (max-width: 768px) {
    .rk-comp-header, .rk-comp-interactive { padding: 30px 20px; }
    .rk-comp-switcher-group { flex-direction: column; gap: 10px; }
    .rk-comp-tab-btn { max-width: 100%; }
    .rk-comp-display-view { grid-template-columns: 1fr; padding: 20px; }
    .rk-comp-visual-frame { height: 150px; max-width: 250px; margin: 0 auto; width: 100%; }
    .rk-spec-grid { grid-template-columns: 1fr; gap: 12px; }
    .rk-comp-title-h2 { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-porownanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Porównanie technologii modernizacji ogrzewania podłogowego",
    "description": "Inżynierskie zestawienie systemów grzewczych pod remonty kapitalne. Porównaj wysokość zabudowy, bezwładność, koszty m² oraz zgodność z normą PN-EN 1264-4.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-komparator",
    "name": "Matryca porównawcza systemów ogrzewania płaszczyznowego dla termomodernizacji",
    "description": "Zbiór danych technicznych (wysokość profilu, masa jastrychu, opór i czas reakcji) trzech konkurencyjnych systemów wodnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "porównanie ogrzewania podłogowego frezowanie",
      "wysokość zabudowy podłogówki sucha zabudowa",
      "bezwładność cieplna wylewka z miksokreta",
      "koszt materiału i robocizny podłogówki",
      "norma PN-EN 1264-4 wymagania jastrych"
    ],
    "measurementTechnique": "Zestawienie fizyczno-konstrukcyjne grubości przegród i bilansu mas budowlanych obciążających stropy.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Frezowanie w jastrychu: Profil 0 mm, obciążenie stropu 0 kg/m², wysoka reaktywność termiczna w 45 minut.",
        "System suchy: Profil 20-30 mm, idealny na stropy drewniane, wyższy koszt jednostkowy.",
        "Tradycyjny system mokry: Profil 65-80 mm, potężna masa 130 kg/m², bezwładność do 5 godzin."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-komparator-technologii",
    "name": "Interaktywny Komparator Technologii Modernizacji",
    "description": "Aplikacja filtrująca i kafelkująca parametry techniczno-eksploatacyjne posadzek grzewczych na bazie wybranego wariantu wykonawczego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-container" id="rk-tech-matrix-app">
    <div class="rk-comp-header">
        <div class="rk-comp-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>
            Analiza Porównawcza
        </div>
        <h2 class="rk-comp-title-h2">Porównanie technologii modernizacji ogrzewania podłogowego</h2>
        <p class="rk-comp-intro">
            Poniższe zestawienie przedstawia weryfikację kluczowych parametrów techniczno-eksploatacyjnych trzech najpopularniejszych metod montażu wodnego ogrzewania podłogowego w obiektach poddawanych remontom kapitalnym. Pozwala ono podjąć świadomą decyzję inżynieryjną w oparciu o nośność stropu oraz czas reakcji układu.
        </p>
    </div>

    <div class="rk-comp-interactive">
        <div class="rk-comp-switcher-group">
            <button class="rk-comp-tab-btn active" data-tech="frez" onclick="rkFilterTech('frez')">Frezowanie w starym jastrychu</button>
            <button class="rk-comp-tab-btn" data-tech="suchy" onclick="rkFilterTech('suchy')">System suchy (Zabudowa lekka)</button>
            <button class="rk-comp-tab-btn" data-tech="mokry" onclick="rkFilterTech('mokry')">System mokry (Skuwanie do zera)</button>
        </div>

        <div id="rk-matrix-core" class="rk-comp-display-view state-frez">
            <div class="rk-comp-visual-frame">
                <svg class="rk-comp-svg svg-tech-group svg-frez" viewBox="0 0 100 100">
                    <rect x="0" y="35" width="100" height="65" fill="#334155"/>
                    <path d="M 30 35 L 30 65 L 70 65 L 70 35" fill="#0f172a" stroke="#475569" stroke-width="2"/>
                    <circle cx="50" cy="50" r="10" fill="#38bdf8"/>
                    <path class="anim-wave-frez" d="M 15 20 Q 50 10 85 20" fill="none" stroke="#ef4444" stroke-width="3" stroke-linecap="round"/>
                </svg>

                <svg class="rk-comp-svg svg-tech-group svg-suchy" viewBox="0 0 100 100">
                    <rect x="0" y="55" width="100" height="45" fill="#1e293b"/> <rect x="0" y="35" width="100" height="20" fill="#d97706" opacity="0.8"/> <circle cx="50" cy="45" r="8" fill="#a855f7"/>
                    <path class="anim-wave-suchy" d="M 20 15 Q 50 5 80 15" fill="none" stroke="#f59e0b" stroke-width="2" stroke-linecap="round"/>
                </svg>

                <svg class="rk-comp-svg svg-tech-group svg-mokry" viewBox="0 0 100 100">
                    <rect x="0" y="75" width="100" height="25" fill="#1e293b"/> <rect x="0" y="25" width="100" height="50" fill="#64748b"/> <circle cx="50" cy="50" r="10" fill="#475569" stroke="#94a3b8" stroke-width="2"/>
                    <path class="anim-wave-mokry" d="M 10 10 L 90 10" fill="none" stroke="#94a3b8" stroke-width="4" stroke-linecap="round"/>
                </svg>
            </div>

            <div class="rk-spec-grid">
                <div class="rk-spec-card">
                    <div class="rk-spec-lbl">Minimalna wysokość zabudowy</div>
                    <div class="rk-spec-val val-highlight" id="matrix-height">0 mm (rury chowają się w strukturze)</div>
                </div>
                <div class="rk-spec-card">
                    <div class="rk-spec-lbl">Dodatkowe obciążenie stropu</div>
                    <div class="rk-spec-val" id="matrix-weight">0 kg/m² (brak zmiany bilansu mas)</div>
                </div>
                <div class="rk-spec-card">
                    <div class="rk-spec-lbl">Jednostkowy koszt (Materiał + Robota)</div>
                    <div class="rk-spec-val" id="matrix-cost">120 – 180 PLN/m²</div>
                </div>
                <div class="rk-spec-card">
                    <div class="rk-spec-lbl">Bezwładność termiczna układu</div>
                    <div class="rk-spec-val" id="matrix-inertia">Niska (czas reakcji ok. 45 min)</div>
                </div>
                <div class="rk-spec-card" style="grid-column: 1 / -1;">
                    <div class="rk-spec-lbl">Zgodność z normą PN-EN 1264-4</div>
                    <div class="rk-spec-val" id="matrix-norm">Wymaga weryfikacji geometrii i klasy jastrychu (min. C12/15)</div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
// 1. Ochrona licencji kodu (Zgodnie z zasadami - brak tagów H2/H3 w kodzie błędu)
document.addEventListener('DOMContentLoaded', function() {
    var domainVerify = window.location.hostname;
    var safeDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (safeDomains.indexOf(domainVerify) === -1) {
        var containerApp = document.getElementById('rk-tech-matrix-app');
        if (wrapperContainer) {
            containerApp.innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#f43f5e; border-radius:20px; border:2px solid #f43f5e; font-family:sans-serif; font-size:15px;"><strong>Odmowa dostępu do komponentu.</strong> Tablica porówania systemów płaszczyznowych jest zastrzeżona dla domeny Projekt-Ogrzewania.pl.</div>';
        }
    }
});

// 2. Logika interaktywnego filtrowania macierzy danych
function rkFilterTech(techType) {
    var matrixCore = document.getElementById('rk-matrix-core');

    // Nadanie odpowiedniej klasy stanu dla sterowania widocznością SVG
    matrixCore.className = "rk-comp-display-view";
    matrixCore.classList.add('state-' + techType);

    // Aktualizacja podświetlenia przycisku tabulatora
    var buttons = document.querySelectorAll('.rk-comp-tab-btn');
    buttons.forEach(function(btn) { btn.classList.remove('active'); });
    document.querySelector('.rk-comp-tab-btn[data-tech="' + techType + '"]').classList.add('active');

    // Podmiana danych w kafelkach specyfikacji
    if (techType === 'frez') {
        document.getElementById('matrix-height').innerText = "0 mm (rury chowają się w strukturze posadzki)";
        document.getElementById('matrix-weight').innerText = "0 kg/m² (brak zmiany pierwotnego bilansu mas)";
        document.getElementById('matrix-cost').innerText = "120 – 180 PLN/m²";
        document.getElementById('matrix-inertia').innerText = "Niska (czas reakcji i odczucia ciepła ok. 45 min)";
        document.getElementById('matrix-norm').innerHTML = "Wymaga weryfikacji jastrychu kontrolą sklerometryczną według <a href='https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/' style='color:var(--rk-comp-brand);font-weight:700;'>kryteriów inżynierskich</a>.";
    } else if (techType === 'suchy') {
        document.getElementById('matrix-height').innerText = "20 – 30 mm (nominalna grubość płyt systemowych)";
        document.getElementById('matrix-weight').innerText = "15 – 25 kg/m² (suche płyty gipsowo-włóknowe)";
        document.getElementById('matrix-cost').innerText = "240 – 350 PLN/m²";
        document.getElementById('matrix-inertia').innerText = "Bardzo niska (czas reakcji rzędu ok. 30 min)";
        document.getElementById('matrix-norm').innerHTML = "Pełna zgodność systemowa. Rozwiązanie dedykowane na stare <a href='https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-nadaje-sie-do-drewnianego-stropu/' style='color:var(--rk-comp-accent);font-weight:700;'>stropy drewniane i belkowe</a>.";
    } else {
        document.getElementById('matrix-height').innerText = "65 – 80 mm (grubość izolacji styropianowej + nowy jastrych)";
        document.getElementById('matrix-weight').innerText = "130 – 160 kg/m² (monolityczny wylewany beton)";
        document.getElementById('matrix-cost').innerText = "220 – 310 PLN/m² (wliczając kucie i wywóz gruzu)";
        document.getElementById('matrix-inertia').innerText = "Wysoka (bezwładność i czas nagrzewania ok. 180–300 min)";
        document.getElementById('matrix-norm').innerHTML = "Pełna zgodność normatywna. Wymaga wykonania <a href='https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/' style='color:#334155;font-weight:700;'>nowej wylewki betonowej lub anhydrytowej</a> od zera.";
    }
}
</script>



<style>
:root {
    --rk-eq-dark: #0f172a; /* Głęboki granat pulpitu */
    --rk-eq-brand: #0ea5e9; /* Morski cyjan / przepływ */
    --rk-eq-brand-light: #e0f2fe;
    --rk-eq-accent: #f59e0b; /* Bursztyn / Ostrzeżenie */
    --rk-eq-success: #10b981; /* Zielony / Stabilność */
    --rk-eq-danger: #ef4444; /* Czerwony / Awaria */
    --rk-eq-bg: #f8fafc;
    --rk-eq-card: #ffffff;
    --rk-eq-text: #334155;
    --rk-eq-border: #e2e8f0;
}

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

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

.rk-eq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.15);
    color: #7dd3fc;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    border: 1px solid rgba(125, 211, 252, 0.2);
}

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

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

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

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

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

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

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

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

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

.rk-eq-btn.active[data-sys="amateur"] {
    border-color: var(--rk-eq-danger);
    background: #fef2f2;
    color: #991b1b;
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.15);
}

.rk-eq-btn.active[data-sys="pro"] {
    border-color: var(--rk-eq-brand);
    background: var(--rk-eq-brand-light);
    color: #0369a1;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.2);
}

/* Ekran Symulatora (SVG) */
.rk-eq-visual-frame {
    background: var(--rk-eq-dark);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    min-height: 260px;
    border: 2px solid #1e293b;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
    margin-bottom: 30px;
}

.rk-eq-svg {
    width: 100%;
    height: 100%;
    max-width: 600px;
}

/* NOWE Elementy i Animacje SVG */
.svg-flow-path { stroke-dasharray: 8 8; transition: stroke 0.4s; }
.svg-hp-fan { transform-origin: 25px 55px; }
.svg-sun { transform-origin: 180px 30px; transition: opacity 0.4s; }
.svg-recu { transition: opacity 0.4s; }
.svg-buffer-cross { opacity: 0; transition: opacity 0.3s; }
.svg-floor-pipe { transition: fill 0.3s; }
.svg-recu-air { stroke-dasharray: 6 6; }

/* Stany Animacji */
/* Stan Amatorski (Awaria) */
.state-amateur .svg-flow-path { animation: flowSlow 0.5s linear infinite; stroke: #ef4444; }
.state-amateur .svg-hp-fan { animation: spinRotor 0.3s linear infinite; } /* Taktowanie pompy */
.state-amateur .svg-buffer { opacity: 0.3; filter: grayscale(1); } /* Brak bufora */
.state-amateur .svg-buffer-cross { opacity: 1; }
.state-amateur .svg-sun { opacity: 1; animation: pulseSun 1s infinite alternate; }
.state-amateur .svg-recu { opacity: 0.2; }
.state-amateur .svg-recu-air { opacity: 0; animation: none; }
.state-amateur .svg-floor-pipe { fill: #ef4444; } /* Przegrzanie */

/* Stan Pro (Inżynierski) */
.state-pro .svg-flow-path { animation: flowFast 1.5s linear infinite; stroke: #0ea5e9; }
.state-pro .svg-hp-fan { animation: spinRotor 2s linear infinite; } /* Spokojna praca */
.state-pro .svg-buffer { opacity: 1; filter: grayscale(0); }
.state-pro .svg-buffer-cross { opacity: 0; }
.state-pro .svg-sun { opacity: 0.4; animation: none; }
.state-pro .svg-recu { opacity: 1; }
.state-pro .svg-recu-air { opacity: 1; animation: flowFast 1.5s linear infinite reverse; }
.state-pro .svg-floor-pipe { fill: #f59e0b; }

@keyframes spinRotor { 100% { transform: rotate(360deg); } }
@keyframes flowFast { to { stroke-dashoffset: -16; } }
@keyframes flowSlow { to { stroke-dashoffset: -16; } }
@keyframes pulseSun { 0% { transform: scale(0.9); filter: drop-shadow(0 0 5px #ef4444); } 100% { transform: scale(1.3); filter: drop-shadow(0 0 15px #ef4444); } }

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

.rk-eq-card {
    background: #ffffff;
    border: 1px solid var(--rk-eq-border);
    padding: 20px;
    border-radius: 12px;
    transition: all 0.3s;
}

.rk-eq-lbl { font-size: 11px; color: #64748b; font-weight: 700; text-transform: uppercase; margin-bottom: 8px; }
.rk-eq-val { font-size: 20px; font-weight: 900; color: var(--rk-eq-dark); display: flex; align-items: baseline; gap: 5px; }
.rk-eq-val span { font-size: 13px; font-weight: 600; color: #94a3b8; }

.rk-eq-desc {
    font-size: 13px;
    color: #475569;
    line-height: 1.5;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--rk-eq-border);
}

/* Dynamiczne kolory tekstu w kafelkach */
.state-amateur .dyn-alert { color: var(--rk-eq-danger); }
.state-pro .dyn-success { color: var(--rk-eq-brand); }

/* POTĘŻNE CTA NA DOLE */
.rk-eq-cta-block {
    background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);
    padding: 45px 50px;
    text-align: center;
    border-top: 4px solid var(--rk-eq-accent);
}

.rk-eq-cta-title {
    font-size: 24px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
}

.rk-eq-cta-text {
    font-size: 15px;
    line-height: 1.6;
    color: #94a3b8;
    max-width: 700px;
    margin: 0 auto 30px auto;
}

.rk-eq-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-eq-accent);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    padding: 20px 40px;
    border-radius: 12px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 10px 25px -5px rgba(245, 158, 11, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-eq-cta-btn:hover {
    transform: translateY(-4px);
    background: #d97706;
    box-shadow: 0 15px 35px -5px rgba(245, 158, 11, 0.5);
}

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

@media (max-width: 768px) {
    .rk-eq-header, .rk-eq-interactive, .rk-eq-cta-block { padding: 30px 20px; }
    .rk-eq-controls { flex-direction: column; }
    .rk-eq-btn { max-width: 100%; }
    .rk-eq-visual-frame { min-height: 180px; padding: 10px; }
    .rk-eq-param-grid { grid-template-columns: 1fr; }
    .rk-eq-title { font-size: 24px; }
    .rk-eq-cta-title { font-size: 20px; }
    .rk-eq-cta-btn { width: 100%; padding: 15px 20px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-urzadzenia",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Jak frezowanie wpływa na projekt instalacji i dobór urządzeń kotłowni?",
    "description": "Frezowanie drastycznie zmniejsza bezwładność cieplną. Wymaga mocnej pompy obiegowej (min. 6m słupa wody) oraz instalacji bufora ciepła zapobiegającego taktowaniu sprężarki pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-dobor-urzadzen",
    "name": "Parametry doboru urządzeń dla systemów frezowanych",
    "description": "Zestawienie wymogów hydraulicznych i pojemnościowych dla kotłowni współpracującej z frezowanym ogrzewaniem podłogowym i OZE.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dobór pompy obiegowej podłogówka",
      "taktowanie pompy ciepła bufor",
      "pojemność bufora ciepła na kw",
      "rekuperacja z ogrzewaniem podłogowym",
      "charakterystyka stałociśnieniowa p=const"
    ],
    "measurementTechnique": "Algorytm doboru komponentów na bazie zsumowanych oporów pętli o mniejszej średnicy i zmniejszonej bezwładności termicznej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Bufor ciepła: Minimum 15 litrów pojemności zładu na każdy 1 kW nominalnej mocy pompy ciepła.",
        "Pompa obiegowa: Wymagana wysokość podnoszenia minimum 6 m słupa wody (60 kPa) przy charakterystyce p=const."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-symulator-kotlowni",
    "name": "Symulator Architektury Kotłowni i Automatyki",
    "description": "Interaktywny diagram obrazujący ryzyko braku projektu OZC, wizualizujący taktowanie pompy ciepła i problemy z oporem hydraulicznym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-eq-container" id="rk-hvac-arch-app">
    <div class="rk-eq-header">
        <div class="rk-eq-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line></svg>
            Architektura Systemu
        </div>
        <h2 class="rk-eq-title">Jak frezowanie ogrzewania podłogowego wpływa na projekt instalacji i dobór urządzeń?</h2>
        <p class="rk-eq-intro">
            Wykonanie frezowania podłogówki wymusza precyzyjne dostosowanie hydrauliki całego źródła ciepła. Mała średnica wewnętrzna rur (10 mm) drastycznie zwiększa wymagane ciśnienie dyspozycyjne pompy obiegowej. Projekt instalacji musi bazować na <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-eq-link">rzetelnych obliczeniach OZC (PN-EN 12831)</a>, co eliminuje niszczące przewymiarowanie źródła.
        </p>
        <p class="rk-eq-intro" style="margin: 0;">
            Zdolność akumulacji energii przez strop jest w tej technologii zredukowana o ponad 40%. Aby uniknąć szkodliwego zjawiska taktowania pompy ciepła (zbyt częstego załączania sprężarki), <strong>bezwzględnie należy zainstalować bufor ciepła o pojemności minimum 15 litrów na każdy kW mocy urządzenia</strong>. Niska bezwładność doskonale współpracuje z rekuperacją, która szybko rozprasza zyski ciepła (np. od słońca).
        </p>
    </div>

    <div class="rk-eq-interactive">
        <div class="rk-eq-controls">
            <button class="rk-eq-btn active" data-sys="pro" onclick="rkSwitchSystem('pro')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Instalacja z Projektem (OZC)
            </button>
            <button class="rk-eq-btn" data-sys="amateur" onclick="rkSwitchSystem('amateur')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                Instalacja "Na oko"
            </button>
        </div>

        <div id="rk-sim-hvac" class="state-pro">
            <div class="rk-eq-visual-frame">
                
                <svg class="rk-eq-svg" viewBox="0 0 200 100">
                    <defs>
                        <linearGradient id="gradBuffer" x1="0%" y1="0%" x2="0%" y2="100%">
                            <stop offset="0%" style="stop-color:#ef4444;stop-opacity:1" />
                            <stop offset="100%" style="stop-color:#0ea5e9;stop-opacity:1" />
                        </linearGradient>
                    </defs>

                    <path class="svg-flow-path" d="M 40 55 L 65 55 M 90 55 L 100 55 M 110 55 L 120 55 L 120 87 L 130 87" fill="none" stroke-width="3" stroke-linecap="round"/>

                    <rect x="10" y="30" width="30" height="50" fill="#334155" rx="3"/>
                    <rect x="12" y="32" width="26" height="46" fill="#1e293b" rx="2"/>
                    <circle cx="25" cy="55" r="12" fill="none" stroke="#64748b" stroke-width="2"/>
                    <g class="svg-hp-fan">
                        <path d="M 25 43 L 25 67 M 13 55 L 37 55" stroke="#cbd5e1" stroke-width="3"/>
                        <circle cx="25" cy="55" r="3" fill="#cbd5e1"/>
                    </g>
                    <polygon points="15,35 18,35 16,39 20,39 15,44 16,40 12,40" fill="#f59e0b"/>

                    <g class="svg-buffer" style="transition: opacity 0.4s, filter 0.4s;">
                        <rect x="65" y="20" width="25" height="60" fill="url(#gradBuffer)" rx="4"/>
                        <path d="M 65 40 L 90 40 M 65 60 L 90 60" stroke="#ffffff" stroke-width="1" opacity="0.2"/>
                    </g>
                    <path class="svg-buffer-cross" d="M 60 15 L 95 85 M 95 15 L 60 85" stroke="#ef4444" stroke-width="4" stroke-linecap="round"/>

                    <circle cx="105" cy="55" r="6" fill="#0f172a" stroke="#94a3b8" stroke-width="2"/>
                    <polygon points="102,52 102,58 108,55" fill="#cbd5e1"/>

                    <rect x="130" y="80" width="60" height="15" fill="#475569" rx="2"/>
                    <circle cx="140" cy="87.5" r="3" class="svg-floor-pipe"/>
                    <circle cx="155" cy="87.5" r="3" class="svg-floor-pipe"/>
                    <circle cx="170" cy="87.5" r="3" class="svg-floor-pipe"/>
                    <circle cx="185" cy="87.5" r="3" class="svg-floor-pipe"/>

                    <g class="svg-recu" style="transition: opacity 0.4s;">
                        <rect x="130" y="5" width="40" height="15" fill="#334155" rx="2"/>
                        <rect x="135" y="8" width="10" height="9" fill="#0f172a"/>
                        <rect x="155" y="8" width="10" height="9" fill="#0f172a"/>
                        <path class="svg-recu-air" d="M 140 28 L 140 17 M 160 28 L 160 17" fill="none" stroke="#0ea5e9" stroke-width="2" stroke-linecap="round"/>
                    </g>

                    <g class="svg-sun" style="transition: opacity 0.4s;">
                        <circle cx="180" cy="30" r="6" fill="#f59e0b"/>
                        <path d="M 180 20 L 180 16 M 180 40 L 180 44 M 170 30 L 166 30 M 190 30 L 194 30 M 173 23 L 170 20 M 187 37 L 190 40 M 173 37 L 170 40 M 187 23 L 190 20" stroke="#f59e0b" stroke-width="2" stroke-linecap="round"/>
                    </g>
                </svg>

            </div>

            <div class="rk-eq-param-grid">
                <div class="rk-eq-card">
                    <div class="rk-eq-lbl">Bufor sprzęgający</div>
                    <div class="rk-eq-val dyn-alert" id="rk-val-buffer">TAK <span>(15L / kW)</span></div>
                    <div class="rk-eq-desc" id="rk-desc-buffer">
                        Gwarantuje zład wody do odszraniania (defrostu) i eliminuje niszczące taktowanie sprężarki spowodowane małą pojemnością wylewki.
                    </div>
                </div>
                <div class="rk-eq-card">
                    <div class="rk-eq-lbl">Pompa obiegowa pętli</div>
                    <div class="rk-eq-val dyn-alert" id="rk-val-pump">6 m <span>(60 kPa)</span></div>
                    <div class="rk-eq-desc" id="rk-desc-pump">
                        Charakterystyka stałociśnieniowa (p=const). Zrównoważy gwałtowne opory hydrauliczne generowane przez rurki o średnicy wew. 10 mm.
                    </div>
                </div>
                <div class="rk-eq-card">
                    <div class="rk-eq-lbl">Reakcja na zyski słońca</div>
                    <div class="rk-eq-val dyn-alert" id="rk-val-sun">Rozproszone <span>(Reku)</span></div>
                    <div class="rk-eq-desc" id="rk-desc-sun">
                        Frezowana podłoga odcina dopływ wody. <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/" style="color:inherit; font-weight:700;">Rekuperacja</a> wychwytuje gorące powietrze i redystrybuuje je po strefach zacienionych.
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-eq-cta-block">
        <h3 class="rk-eq-cta-title">Nie pozwól, by błędy instalatora zniszczyły Twoją Pompę Ciepła</h3>
        <p class="rk-eq-cta-text">
            Brak bufora, dobór za słabej pompy obiegowej i przewymiarowane źródło ciepła to najczęstsze skutki montażu "na intuicję". Zabezpiecz swoją inwestycję profesjonalną dokumentacją techniczną opartą na twardych wyliczeniach OZC i fizyce przepływów.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-eq-cta-btn">
            ZAMÓW PROJEKT INSTALACJI PODŁOGOWEJ
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
// 1. Zabezpieczenie przed nieautoryzowanym skopiowaniem (Bez tagów H)
document.addEventListener('DOMContentLoaded', function() {
    var checkDom = window.location.hostname;
    var allowedDom = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDom.indexOf(checkDom) === -1) {
        var wrapApp = document.getElementById('rk-hvac-arch-app');
        if (wrapApp) {
            wrapApp.innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:24px; border:2px solid #ef4444; font-family:sans-serif; font-size:16px;"><strong>Odmowa autoryzacji licencji.</strong> Algorytm wizualizacji kotłowni jest własnością intelektualną serwisu Projekt-Ogrzewania.pl.</div>';
        }
    }
});

// 2. Logika przełączania symulatora
function rkSwitchSystem(mode) {
    var hvacSim = document.getElementById('rk-sim-hvac');
    
    // Zmiana przycisków
    var btns = document.querySelectorAll('.rk-eq-btn');
    btns.forEach(function(b) { b.classList.remove('active'); });
    document.querySelector('.rk-eq-btn[data-sys="' + mode + '"]').classList.add('active');

    // Aktualizacja interfejsu (CSS SVG i teksty)
    if (mode === 'pro') {
        hvacSim.className = 'state-pro';
        
        document.getElementById('rk-val-buffer').innerHTML = "TAK <span>(15L / kW)</span>";
        document.getElementById('rk-desc-buffer').innerHTML = "Gwarantuje zład wody do odszraniania (defrostu) i eliminuje niszczące taktowanie sprężarki spowodowane małą pojemnością wylewki.";
        
        document.getElementById('rk-val-pump').innerHTML = "6 m <span>(60 kPa)</span>";
        document.getElementById('rk-desc-pump').innerHTML = "Charakterystyka stałociśnieniowa (p=const). Zrównoważy gwałtowne opory hydrauliczne generowane przez rurki o średnicy wew. 10 mm.";
        
        document.getElementById('rk-val-sun').innerHTML = "Rozproszone <span>(Reku)</span>";
        document.getElementById('rk-desc-sun').innerHTML = "Frezowana podłoga odcina dopływ wody. <a href='https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/' style='color:inherit; font-weight:700;'>Rekuperacja</a> wychwytuje gorące powietrze i redystrybuuje je po strefach zacienionych.";

    } else {
        hvacSim.className = 'state-amateur';
        
        document.getElementById('rk-val-buffer').innerHTML = "BRAK <span>(Awaria)</span>";
        document.getElementById('rk-desc-buffer').innerHTML = "Zbyt mała pojemność wodna systemu frezowanego powoduje ciągłe włączanie/wyłączanie (taktowanie) pompy, niszcząc sprężarkę.";
        
        document.getElementById('rk-val-pump').innerHTML = "4 m <span>(Za słaba)</span>";
        document.getElementById('rk-desc-pump').innerHTML = "Zwykła pompa nie radzi sobie z oporem małych rurek. Woda wybiera najkrótsze drogi, zostawiając większość salonu całkowicie niedogrzaną.";
        
        document.getElementById('rk-val-sun').innerHTML = "Przegrzanie <span>(Brak OZC)</span>";
        document.getElementById('rk-desc-sun').innerHTML = "Brak projektu OZC powoduje, że słońce z okien uderza w zabetonowane rury potęgując temperaturę. Podłoga nie ma jak zrzucić tego ciepła w inny obieg.";
    }
}
</script>



<style>
:root {
    --rk-faq2-dark: #0f172a;
    --rk-faq2-card: #ffffff;
    --rk-faq2-brand: #059669; /* Profesjonalny Szmaragd / Zieleń inżynierska */
    --rk-faq2-brand-light: #d1fae5;
    --rk-faq2-accent: #f59e0b; /* Bursztyn dla kontrastu / ostrzeżeń */
    --rk-faq2-bg: #f8fafc;
    --rk-faq2-border: #e2e8f0;
    --rk-faq2-text: #334155;
    --rk-faq2-muted: #64748b;
}

.rk-faq2-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-faq2-card);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(5, 150, 105, 0.1);
    border: 1px solid rgba(5, 150, 105, 0.2);
    overflow: hidden;
}

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

.rk-faq2-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #6ee7b7;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(110, 231, 183, 0.2);
}

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

.rk-faq2-title span { color: #34d399; }

/* Sekcja Interaktywna */
.rk-faq2-interactive {
    padding: 35px 45px;
    background: var(--rk-faq2-bg);
}

.rk-faq2-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-faq2-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq2-border);
    border-radius: 14px;
    overflow: hidden;
    transition: all 0.3s;
}

.rk-faq2-item.active {
    border-color: var(--rk-faq2-brand);
    box-shadow: 0 10px 20px -5px rgba(5, 150, 105, 0.12);
}

/* Przycisk Akordeonu */
.rk-faq2-question {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 22px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-faq2-dark);
    transition: background 0.3s, color 0.3s;
}

.rk-faq2-question:hover {
    background: #f1f5f9;
}

.rk-faq2-item.active .rk-faq2-question {
    background: var(--rk-faq2-brand-light);
    color: #064e3b;
}

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

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

/* Odpowiedź z Gridem */
.rk-faq2-answer-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

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

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

.rk-faq2-content {
    padding: 25px;
    border-top: 1px solid var(--rk-faq2-brand-light);
    display: grid;
    grid-template-columns: 1fr 180px;
    gap: 30px;
    align-items: center;
    background: #ffffff;
}

.rk-faq2-text {
    font-size: 14px;
    line-height: 1.7;
    color: var(--rk-faq2-text);
}

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

.rk-faq2-link {
    color: var(--rk-faq2-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(5, 150, 105, 0.4);
    transition: all 0.3s;
}

.rk-faq2-link:hover {
    color: #047857;
    border-bottom-style: solid;
}

/* Kontener SVG */
.rk-faq2-visual {
    background: #f8fafc;
    border-radius: 12px;
    padding: 15px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #e2e8f0;
    position: relative;
}

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

/* === ANIMACJE SVG ZALEŻNE OD KLASY ACTIVE === */

/* 1. Strop / Frezowanie */
.rk-faq2-item.active .anim-blade {
    animation: spinBlade 1s linear infinite;
    transform-origin: 50px 30px;
}
.rk-faq2-item.active .anim-groove {
    stroke-dasharray: 60;
    stroke-dashoffset: 60;
    animation: cutGroove 2s forwards;
}
@keyframes spinBlade { to { transform: rotate(360deg); } }
@keyframes cutGroove { to { stroke-dashoffset: 0; } }

/* 2. Bariera EVOH (Tlen) */
.anim-oxygen { opacity: 0; }
.rk-faq2-item.active .anim-oxygen {
    opacity: 1;
    animation: bounceOxygen 1.5s infinite alternate ease-in-out;
}
@keyframes bounceOxygen {
    0% { transform: translateY(-15px) scale(1); fill: #ef4444; }
    100% { transform: translateY(0px) scale(0.8); fill: #fca5a5; }
}

/* 3. Masa naprawcza */
.anim-trowel { transform: translateX(-20px); opacity: 0; }
.rk-faq2-item.active .anim-trowel {
    animation: fillMass 2s ease-out forwards;
}
@keyframes fillMass {
    0% { transform: translateX(-20px); opacity: 1; }
    50% { transform: translateX(20px); opacity: 1; }
    100% { transform: translateX(20px); opacity: 0; }
}
.rk-faq2-item.active .anim-mass-fill {
    transform: scaleX(0);
    transform-origin: left;
    animation: growMass 2s forwards;
}
@keyframes growMass { to { transform: scaleX(1); } }

/* 4. Zawór mieszający */
.anim-flow-hot, .anim-flow-cold { stroke-dasharray: 4; animation: dashFlow 1s linear infinite; opacity: 0; }
.rk-faq2-item.active .anim-flow-hot { opacity: 1; stroke: #ef4444; }
.rk-faq2-item.active .anim-flow-cold { opacity: 1; stroke: #3b82f6; }
@keyframes dashFlow { to { stroke-dashoffset: -8; } }

/* 5. Woda zdemineralizowana */
.anim-drop { transform: scale(0.8); }
.rk-faq2-item.active .anim-drop {
    animation: purifyDrop 2s infinite alternate;
}
@keyframes purifyDrop {
    0% { fill: #94a3b8; transform: scale(0.8); } /* Brudna woda */
    100% { fill: #38bdf8; transform: scale(1.1); filter: drop-shadow(0 0 5px #38bdf8); } /* Czysta woda */
}

@media (max-width: 768px) {
    .rk-faq2-header, .rk-faq2-interactive { padding: 30px 20px; }
    .rk-faq2-title { font-size: 22px; }
    .rk-faq2-content { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
    .rk-faq2-visual { height: 120px; max-width: 200px; margin: 0 auto; width: 100%; border: none; }
    .rk-faq2-question { font-size: 14px; padding: 18px 20px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD) 
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Najczęściej zadawane pytania (FAQ) – Frezowanie podłogówki",
    "description": "Techniczne odpowiedzi na najważniejsze pytania dotyczące wytrzymałości wylewek, barier antydyfuzyjnych EVOH, mas naprawczych oraz jakości wody w systemach frezowanych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#faq-data",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy frezowanie niszczy strukturę starego stropu lub osłabia wylewkę?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Frezowanie na głębokość 20 mm w wylewce o grubości minimum 35 mm nie narusza stabilności, o ile beton spełnia klasę wytrzymałości C12/15. Nienaruszona warstwa dolna w pełni przenosi obciążenia użytkowe."
        }
      },
      {
        "@type": "Question",
        "name": "Czy w kanałach frezowanych można układać rury bez barier (np. zwykłe PEX)?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie. Wymagane jest bezwzględne stosowanie rur z barierą antydyfuzyjną EVOH (norma DIN 4726). Brak bariery prowadzi do korozji elementów stalowych i uszkodzenia wymiennika pompy ciepła."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka masa jest najlepsza do zalewania wyfrezowanych rowków?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Należy stosować wyłącznie dedykowane masy polimerowo-cementowe (klasa C2TE) o przewodności cieplnej λ ≥ 1,4 W/(m·K). Zwykła zaprawa pęka pod wpływem naprężeń termicznych."
        }
      },
      {
        "@type": "Question",
        "name": "Czy przy frezowaniu trzeba montować układ mieszający z zaworem?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Jeśli jedynym źródłem jest pompa ciepła generująca 35°C, układ mieszający jest zbędny. Jest on wymagany wyłącznie w systemach hybrydowych (np. przy jednoczesnej pracy grzejników na 60°C)."
        }
      },
      {
        "@type": "Question",
        "name": "Czy instalację po frezowaniu można napełnić wodą z kranu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Instalację należy napełnić wodą demineralizowaną (przewodność <100 µS/cm) z inhibitorem korozji. Zwykła woda w rurkach 14 mm grozi osadzaniem kamienia kotłowego i spadkiem wydajności."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-tech",
    "name": "Parametry techniczne materiałów dla systemów frezowanych",
    "description": "Wymagania inżynierskie dla jastrychów, klas zapraw, norm rur i parametrów fizykochemicznych zładu wody.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "frezowanie ogrzewania podłogowego",
      "bariera antydyfuzyjna evoh",
      "norma din 4726",
      "zawór mieszający instalacji",
      "woda demineralizowana ogrzewanie"
    ],
    "measurementTechnique": "Normatywne wartości graniczne (wytrzymałość C12/15, przewodność cieplna λ ≥ 1,4 W/(m·K), przewodność wody <100 µS/cm).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymagany minimalny opór dyfuzyjny tlenu wg DIN 4726.",
        "Parametry mas naprawczych do przewodzenia energii cieplnej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-faq",
    "name": "Interaktywny Asystent FAQ Frezowania",
    "description": "Baza wiedzy z wizualizacjami SVG pomagająca inwestorom w doborze parametrów modernizacji cieplnej bez błędów wykonawczych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA FAQ
=========================================== -->
<div class="rk-faq2-container" id="rk-frez-faq-app">
    <div class="rk-faq2-header">
        <div class="rk-faq2-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg>
            Baza Wiedzy Wykonawcy
        </div>
        <h2 class="rk-faq2-title">FAQ – <span>Najczęściej zadawane pytania</span></h2>
    </div>

    <div class="rk-faq2-interactive">
        <div class="rk-faq2-list">
            
            <!-- Pytanie 1: Wytrzymałość stropu -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>1. Czy frezowanie niszczy strukturę starego stropu lub osłabia wylewkę?</span>
                    <div class="rk-faq2-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Frezowanie na głębokość <strong>20 mm</strong> w wylewce o całkowitej grubości minimum 35 mm nie narusza stabilności konstrukcyjnej podłoża. Warunkiem koniecznym jest, aby istniejący <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-faq2-link">jastrych spełniał kryterium wytrzymałościowe minimum C12/15</a>. Pozostała, nienaruszona warstwa dolna betonu w pełni przejmuje i przenosi statyczne oraz dynamiczne obciążenia użytkowe zgodnie z normami budowlanymi.
                            </div>
                            <div class="rk-faq2-visual">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 80">
                                    <rect x="10" y="50" width="80" height="20" fill="#94a3b8" rx="2"/>
                                    <path class="anim-groove" d="M 10 50 L 50 50 L 50 70" fill="none" stroke="#f8fafc" stroke-width="8"/>
                                    <g class="anim-blade">
                                        <circle cx="50" cy="30" r="15" fill="none" stroke="#059669" stroke-width="4" stroke-dasharray="10 4"/>
                                        <circle cx="50" cy="30" r="4" fill="#059669"/>
                                    </g>
                                    <line x1="50" y1="30" x2="50" y2="45" stroke="#059669" stroke-width="4"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 2: Bariera EVOH -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>2. Czy w kanałach frezowanych można układać zwykłe rury bez barier?</span>
                    <div class="rk-faq2-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Absolutnie nie. Bezwykopowe układanie rur wymaga <strong>bezwzględnego stosowania przewodów wyposażonych w pięciowarstwową <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/" class="rk-faq2-link">barierę antydyfuzyjną EVOH</a></strong> zgodną z normą DIN 4726. Zastosowanie rur jednowarstwowych bez powłoki antytlenowej doprowadzi do szybkiej korozji elementów stalowych w kotłowni i trwałego uszkodzenia pompy.
                            </div>
                            <div class="rk-faq2-visual">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 80">
                                    <circle cx="50" cy="50" r="25" fill="none" stroke="#059669" stroke-width="6"/>
                                    <circle cx="50" cy="50" r="21" fill="none" stroke="#3b82f6" stroke-width="2"/>
                                    <circle class="anim-oxygen" cx="20" cy="20" r="5"/>
                                    <circle class="anim-oxygen" cx="80" cy="20" r="5" style="animation-delay: 0.5s;"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 3: Masa naprawcza -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>3. Jaka masa jest najlepsza do zalewania wyfrezowanych rowków?</span>
                    <div class="rk-faq2-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Do wypełniania bruzd stosuje się <strong>wyłącznie modyfikowane polimerami masy naprawcze klasy C2TE</strong>. Ich kluczowym parametrem dla systemu cieplnego jest wysoka przewodność (λ ≥ 1,4 W/(m·K)). Zwykła <a href="https://projekt-ogrzewania.pl/czym-jest-system-mokry-w-wodnym-ogrzewaniu-podlogowym/" class="rk-faq2-link">zaprawa murarska popęka pod wpływem rozszerzalności rur</a>, tworząc puste przestrzenie izolujące ciepło.
                            </div>
                            <div class="rk-faq2-visual">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 80">
                                    <path d="M 10 60 L 90 60 L 90 80 L 10 80 Z" fill="#e2e8f0"/>
                                    <path d="M 30 60 L 70 60 L 60 80 L 40 80 Z" fill="#ffffff"/>
                                    <rect class="anim-mass-fill" x="40" y="60" width="20" height="20" fill="#f59e0b"/>
                                    <path class="anim-trowel" d="M 35 45 L 65 45 L 75 55 L 25 55 Z" fill="#94a3b8"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 4: Zawór mieszający -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>4. Czy przy frezowaniu podłogówki trzeba montować układ mieszający z zaworem?</span>
                    <div class="rk-faq2-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Jeśli system współpracuje bezpośrednio z niskotemperaturową pompą ciepła generującą parametr 35°C, <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/" class="rk-faq2-link">układ mieszający jest całkowicie zbędny</a>, a pętle podłącza się wprost do rozdzielacza. Montaż zaworu trójdrogowego jest konieczny <strong>tylko w układach hybrydowych</strong> (jednoczesne zasilanie grzejników na 60°C i podłogówki).
                            </div>
                            <div class="rk-faq2-visual">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 80">
                                    <path d="M 50 10 L 50 70 M 20 40 L 80 40" stroke="#cbd5e1" stroke-width="12" stroke-linecap="round"/>
                                    <circle cx="50" cy="40" r="14" fill="#0f172a"/>
                                    <polygon points="50,26 64,40 50,54" fill="#059669"/>
                                    <line class="anim-flow-hot" x1="20" y1="40" x2="40" y2="40" stroke-width="4" stroke-linecap="round"/>
                                    <line class="anim-flow-cold" x1="50" y1="65" x2="50" y2="45" stroke-width="4" stroke-linecap="round"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 5: Woda demineralizowana -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>5. Czy instalację można napełnić zwykłą wodą z kranu?</span>
                    <div class="rk-faq2-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Zdecydowanie odradza się takie praktyki. Instalacja frezowana posiada cienkie rurki (najczęściej 14 mm), co potęguje ryzyko zarastania przekroju. Układ <strong>musi być napełniony <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/" class="rk-faq2-link">wodą demineralizowaną</a> (przewodność < 100 µS/cm) z inhibitorem korozji</strong>. Zwykła kranówka grozi szybkim odkładaniem się kamienia kotłowego.
                            </div>
                            <div class="rk-faq2-visual">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 80">
                                    <path class="anim-drop" d="M 50 15 C 50 15 25 45 25 60 C 25 73.8 36.2 85 50 85 C 63.8 85 75 73.8 75 60 C 75 45 50 15 50 15 Z" fill="#38bdf8"/>
                                    <path d="M 40 55 Q 50 45 60 55" fill="none" stroke="#ffffff" stroke-width="3" stroke-linecap="round" opacity="0.6"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

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

<!-- ==========================================
     LOGIKA ZABEZPIECZEŃ (DOMAIN LOCK) I JS
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie na poziomie domeny
    var host = window.location.hostname;
    var allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowed.indexOf(host) === -1) {
        var app = document.getElementById('rk-frez-faq-app');
        if (app) {
            app.innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:20px; font-weight:900;">BŁĄD LICENCJI: TEN MODUŁ STANOWI WŁASNOŚĆ INTELEKTUALNĄ SERWISU PROJEKT-OGRZEWANIA.PL</div>';
        }
        return;
    }

    // 2. Logika otwierania Akordeonu
    var items = document.querySelectorAll('.rk-faq2-item');
    items.forEach(function(item) {
        var btn = item.querySelector('.rk-faq2-question');
        btn.addEventListener('click', function() {
            var isActive = item.classList.contains('active');
            
            // Zamknij wszystkie inne zakładki
            items.forEach(function(el) { 
                el.classList.remove('active'); 
            });
            
            // Otwórz tylko klikniętą, o ile nie była wcześniej otwarta
            if (!isActive) {
                item.classList.add('active');
            }
        });
    });
    
    // Otwórz pierwszą zakładkę domyślnie
    if(items.length > 0) {
        items[0].classList.add('active');
    }
});
</script>



<style>
:root {
    --rk-mill-dark: #1e293b;
    --rk-mill-blue: #0284c7;
    --rk-mill-blue-hover: #0369a1;
    --rk-mill-orange: #f97316;
    --rk-mill-orange-light: #ffedd5;
    --rk-mill-red: #ef4444;
    --rk-mill-red-light: #fef2f2;
    --rk-mill-green: #10b981;
    --rk-mill-bg: #ffffff;
    --rk-mill-gray: #f8fafc;
    --rk-mill-text: #334155;
    --rk-mill-border: #e2e8f0;
}

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

/* Sekcja Główna */
.rk-mill-header {
    padding: 40px 50px 30px;
    background: linear-gradient(145deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid var(--rk-mill-border);
}

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

.rk-mill-title svg {
    color: var(--rk-mill-orange);
    flex-shrink: 0;
}

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

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

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

/* Toggle Switch (Styl iOS/Android) */
.rk-toggle-container {
    display: flex;
    justify-content: center;
    margin-bottom: 35px;
}

.rk-toggle-bg {
    display: flex;
    background: #e2e8f0;
    border-radius: 99px;
    padding: 4px;
    position: relative;
    width: 100%;
    max-width: 500px;
    cursor: pointer;
}

.rk-toggle-btn {
    flex: 1;
    text-align: center;
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 700;
    color: #64748b;
    z-index: 2;
    transition: color 0.3s ease;
    user-select: none;
}

.rk-toggle-btn.active {
    color: var(--rk-mill-dark);
}

.rk-toggle-slider {
    position: absolute;
    top: 4px;
    left: 4px;
    width: calc(50% - 4px);
    height: calc(100% - 8px);
    background: #ffffff;
    border-radius: 99px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    z-index: 1;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.rk-toggle-bg[data-state="amateur"] .rk-toggle-slider {
    transform: translateX(100%);
}

/* Dynamiczny Kontent */
.rk-dynamic-view {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: stretch;
}

.rk-dynamic-card {
    padding: 30px;
    border-radius: 20px;
    border: 2px solid transparent;
    background: var(--rk-mill-gray);
    transition: all 0.4s ease;
    opacity: 0;
    display: none;
    transform: translateY(10px);
}

.rk-dynamic-card.active {
    display: flex;
    flex-direction: column;
    opacity: 1;
    transform: translateY(0);
}

.rk-card-pro { border-color: var(--rk-mill-orange-light); background: #fffcf8; }
.rk-card-amateur { border-color: var(--rk-mill-red-light); background: #fffcfc; }

.rk-card-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
}

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

.rk-card-text {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-mill-text);
    margin: 0 0 15px 0;
    flex-grow: 1;
}

.rk-card-text a {
    color: var(--rk-mill-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Animacje SVG */
.anim-flow { stroke-dasharray: 10; animation: dashFlow 1s linear infinite; }
.anim-pulse { transform-origin: center; animation: scalePulse 2s infinite ease-in-out; }
.anim-block { animation: shakeBlock 0.5s infinite alternate; }

@keyframes dashFlow { to { stroke-dashoffset: -20; } }
@keyframes scalePulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); fill: var(--rk-mill-orange); } }
@keyframes shakeBlock { from { transform: translateX(-1px); } to { transform: translateX(1px); } }

/* Grid Informacyjny (Kafelki zamiast ściany tekstu) */
.rk-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 50px 40px;
}

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

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

.rk-info-box p {
    font-size: 13px;
    line-height: 1.5;
    color: #64748b;
    margin: 0;
}

@media (max-width: 768px) {
    .rk-mill-header, .rk-mill-interactive { padding: 30px 20px; }
    .rk-info-grid { grid-template-columns: 1fr; padding: 0 20px 30px; }
    .rk-dynamic-view { grid-template-columns: 1fr; }
    .rk-mill-title { font-size: 22px; }
    .rk-toggle-bg { width: 100%; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Podsumowanie: Modernizacja bez skuwania i drastyczny spadek bezwładności",
    "description": "Frezowanie podłogówki pozwala na pełne przejście na zasilanie niskotemperaturowe. Gwarantuje czas nagrzewania poniżej 45 minut przy zachowaniu normy DIN 4726 i rzetelnych obliczeń OZC.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-frezowanie",
    "name": "Parametry hydrauliczne i termiczne układu frezowanego",
    "description": "Zestawienie porównawcze działania instalacji ogrzewania frezowanego z wykonanym profesjonalnym projektem OZC w stosunku do instalacji montowanych intuicyjnie.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "frezowanie ogrzewania podłogowego",
      "bezwładność termiczna podłogówki",
      "projektowe obciążenie cieplne ozc",
      "bariera antydyfuzyjna evoh din 4726",
      "opory hydrauliczne pompy ciepła"
    ],
    "measurementTechnique": "Obliczenia na bazie normy DIN 4726, PN-EN 12831 (OZC) oraz symulacji dynamiki przepływów hydraulicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Bezwładność cieplna: Stabilizacja temperatury powietrza w czasie krótszym niż 45 minut.",
        "Zabezpieczenie: Rury z powłoką antydyfuzyjną EVOH chronią układ przed zapowietrzeniem i korozją."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-symulator",
    "name": "Symulator Przepływów i OZC przy Frezowaniu",
    "description": "Interaktywny panel ilustrujący bezpośrednie skutki zaniechania obliczeń cieplnych (OZC) oraz zastosowania niewłaściwych materiałów w układach cienkowarstwowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and CSS3",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-mill-wrapper" id="rk-frez-summary-app">
    
    <!-- Nagłówek -->
    <div class="rk-mill-header">
        <h2 class="rk-mill-title">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
            Podsumowanie: Modernizacja bez skuwania wylewki
        </h2>
        <p class="rk-mill-intro">
            Zastosowanie technologii frezowania to sprawdzona inżyniersko metoda na błyskawiczne przejście z układów wysokotemperaturowych na wydajne, niskotemperaturowe źródła ciepła (pompy ciepła). <strong>Kluczową zaletą tego systemu jest drastyczny spadek bezwładności termicznej</strong> – cienka warstwa masy polimerowo-cementowej sprawia, że temperatura w pomieszczeniach stabilizuje się w czasie <strong>poniżej 45 minut</strong>.
        </p>
    </div>

    <!-- Interaktywny Symulator Decyzji -->
    <div class="rk-mill-interactive">
        <h3 class="rk-mill-subtitle">Jak błędy projektowe niszczą sprawność instalacji?</h3>
        
        <div class="rk-toggle-container">
            <div class="rk-toggle-bg" id="rkSimToggle" data-state="pro">
                <div class="rk-toggle-slider"></div>
                <div class="rk-toggle-btn active" data-target="pro" onclick="switchState('pro')">Projekt Inżynierski (OZC)</div>
                <div class="rk-toggle-btn" data-target="amateur" onclick="switchState('amateur')">Instalacja "Na oko"</div>
            </div>
        </div>

        <div class="rk-dynamic-view">
            <!-- WIDOK: PROJEKT INŻYNIERSKI -->
            <div class="rk-dynamic-card rk-card-pro active" id="view-pro">
                <svg class="rk-card-icon" viewBox="0 0 64 64" fill="none">
                    <circle cx="32" cy="32" r="30" stroke="var(--rk-mill-orange)" stroke-width="4" stroke-dasharray="4 4" class="anim-flow"/>
                    <path d="M22 32l7 7 15-15" stroke="var(--rk-mill-orange)" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
                    <circle cx="32" cy="32" r="15" fill="var(--rk-mill-orange-light)" class="anim-pulse" opacity="0.5"/>
                </svg>
                <h4 class="rk-card-title">Precyzyjne rury i płynny obieg</h4>
                <p class="rk-card-text">
                    Zastosowanie rur z <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">barierą antydyfuzyjną EVOH</a> (zgodną z rygorystyczną normą DIN 4726) blokuje przenikanie tlenu. Pompa ciepła działa z optymalnym parametrem, a opory hydrauliczne są pod pełną kontrolą.
                </p>
            </div>

            <!-- WIDOK: BRAK PROJEKTU -->
            <div class="rk-dynamic-card rk-card-amateur" id="view-amateur">
                <svg class="rk-card-icon" viewBox="0 0 64 64" fill="none">
                    <circle cx="32" cy="32" r="30" stroke="var(--rk-mill-red)" stroke-width="4"/>
                    <path d="M20 20l24 24M44 20L20 44" stroke="var(--rk-mill-red)" stroke-width="5" stroke-linecap="round" class="anim-block"/>
                    <rect x="25" y="25" width="14" height="14" fill="var(--rk-mill-red)" rx="2"/>
                </svg>
                <h4 class="rk-card-title" style="color: var(--rk-mill-red);">Blokada przepływów i straty</h4>
                <p class="rk-card-text">
                    Brak rzetelnych <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">obliczeń strat ciepła</a> skutkuje drastycznym wzrostem oporów w rurkach 14 mm. Taktowanie pompy ciepła pożera budżet, a woda omija najdłuższe, źle dobrane pętle grzewcze.
                </p>
            </div>
            
            <!-- OPIS WSPÓLNY - ZMIENIA SIĘ ZALEŻNIE OD STANU -->
            <div class="rk-dynamic-card active" style="background: transparent; border: none; padding: 10px 0;">
                <div id="desc-pro">
                    <h4 class="rk-card-title">OZC ratuje Twój portfel</h4>
                    <p class="rk-card-text">
                        Każda modernizacja frezowana bezwzględnie wymaga obliczenia <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego (OZC)</a>. Dzięki temu unika się przewymiarowania źródła ciepła, a odpowiednie zgruntowanie wyfrezowanych bruzd gwarantuje doskonałe przewodzenie energii bez ryzyka odparzenia okładzin.
                    </p>
                </div>
                <div id="desc-amateur" style="display: none;">
                    <h4 class="rk-card-title" style="color: var(--rk-mill-red);">Pozorna oszczędność</h4>
                    <p class="rk-card-text">
                        Projektowanie "z pamięci" lub sugerowanie się układami tradycyjnymi kończy się katastrofą przy małych przekrojach rur frezowanych. Pył pozostawiony w bruzdach izoluje rurę, sztucznie zwiększając <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładność cieplną</a> układu.
                    </p>
                </div>
            </div>
        </div>
    </div>

    <!-- Procedury (Kafelki pod spodem) -->
    <div class="rk-info-grid">
        <div class="rk-info-box">
            <h4>1. Odpylenie i Grunt</h4>
            <p>Pył betonowy to izolator. Dokładne odkurzenie bruzd klasy M przed aplikacją mas wyrównujących zapobiega odparzeniu warstwy nośnej.</p>
        </div>
        <div class="rk-info-box">
            <h4>2. Normatywne Masy</h4>
            <p>Zalewanie układu wymaga dedykowanych mas polimerowo-cementowych o bardzo dobrym współczynniku przewodzenia energii cieplnej.</p>
        </div>
        <div class="rk-info-box">
            <h4>3. Obliczenia Hydrauliczne</h4>
            <p>Z uwagi na cieńszą rurę (zazwyczaj 14x2), zaniechanie kalibracji przepływów prowadzi do trwałego upośledzenia efektywności pompy.</p>
        </div>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE (DOMAIN LOCK)
=========================================== -->
<script>
// Zabezpieczenie Domenowe - blokada bez użycia tagów nagłówkowych
document.addEventListener('DOMContentLoaded', function() {
    var d = window.location.hostname;
    var a = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (a.indexOf(d) === -1) {
        var c = document.getElementById('rk-frez-summary-app');
        if (c) {
            c.innerHTML = '<div style="padding: 40px; text-align: center; background: #1e293b; color: #ef4444; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;"><div style="font-size: 40px; margin-bottom: 15px;">⚠️</div><div style="font-size: 18px; font-weight: bold; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Licencji</div><div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">Moduł analityczny i kod JSON-LD stanowią własność Projekt-Ogrzewania.pl. Wykryto nieautoryzowane użycie skryptu.</div></div>';
        }
    }
});

// Logika Symulatora (Przełącznik)
function switchState(state) {
    const bg = document.getElementById('rkSimToggle');
    const btns = bg.querySelectorAll('.rk-toggle-btn');
    
    // UI toggle
    bg.setAttribute('data-state', state);
    btns.forEach(b => b.classList.remove('active'));
    bg.querySelector(`[data-target="${state}"]`).classList.add('active');

    // Dynamic Content
    if (state === 'pro') {
        document.getElementById('view-pro').style.display = 'flex';
        document.getElementById('desc-pro').style.display = 'block';
        
        // Timeout to allow display:flex to apply before animating opacity/transform
        setTimeout(() => {
            document.getElementById('view-pro').classList.add('active');
            document.getElementById('view-amateur').classList.remove('active');
            setTimeout(() => document.getElementById('view-amateur').style.display = 'none', 400);
        }, 10);
        document.getElementById('desc-amateur').style.display = 'none';

    } else {
        document.getElementById('view-amateur').style.display = 'flex';
        document.getElementById('desc-amateur').style.display = 'block';
        
        setTimeout(() => {
            document.getElementById('view-amateur').classList.add('active');
            document.getElementById('view-pro').classList.remove('active');
            setTimeout(() => document.getElementById('view-pro').style.display = 'none', 400);
        }, 10);
        document.getElementById('desc-pro').style.display = 'none';
    }
}
</script>



<style>
:root {
    --rk-dl2-dark: #0f172a; /* Głęboki granat */
    --rk-dl2-brand: #10b981; /* Techniczny szmaragd */
    --rk-dl2-brand-dark: #047857;
    --rk-dl2-accent: #0ea5e9; /* Morski cyjan */
    --rk-dl2-bg: #f8fafc;
    --rk-dl2-border: #e2e8f0;
    --rk-dl2-text: #334155;
    --rk-dl2-white: #ffffff;
}

.rk-dl2-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl2-white);
    border-radius: 24px;
    border: 1px solid rgba(16, 185, 129, 0.3);
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.1);
    overflow: hidden;
}

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

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

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

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

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

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

.rk-dl2-icon-svg {
    width: 90px;
    height: auto;
    filter: drop-shadow(0 15px 25px rgba(0,0,0,0.4));
    animation: rkFloat 3.5s infinite ease-in-out alternate;
}

@keyframes rkFloat {
    0% { transform: translateY(0) rotate(0deg); }
    100% { transform: translateY(-12px) rotate(3deg); }
}

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

.rk-dl2-preview {
    flex: 1;
    background: #ffffff;
    border: 1px solid var(--rk-dl2-border);
    border-radius: 16px;
    padding: 12px;
    position: relative;
    cursor: zoom-in;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

.rk-dl2-preview:hover {
    transform: scale(1.03) translateY(-5px);
    box-shadow: 0 20px 35px -5px rgba(16, 185, 129, 0.15);
}

.rk-dl2-img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    display: block;
}

.rk-dl2-zoom-tag {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: rgba(15, 23, 42, 0.85);
    color: #ffffff;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    gap: 6px;
}

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

.rk-dl2-info h3 {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-dl2-dark);
    margin: 0 0 20px 0;
}

.rk-dl2-list {
    list-style: none;
    padding: 0;
    margin: 0 0 35px 0;
}

.rk-dl2-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--rk-dl2-text);
    line-height: 1.5;
}

.rk-dl2-check {
    width: 22px;
    height: 22px;
    color: var(--rk-dl2-brand);
    flex-shrink: 0;
    margin-top: 2px;
}

/* PRZYCISK POBIERANIA */
.rk-dl2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-dl2-brand);
    color: var(--rk-dl2-white);
    text-decoration: none !important;
    padding: 18px 30px;
    border-radius: 14px;
    font-weight: 900;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.4);
    border: 2px solid transparent;
}

.rk-dl2-btn:hover {
    background: var(--rk-dl2-brand-dark);
    transform: translateY(-3px);
    box-shadow: 0 15px 30px -5px rgba(16, 185, 129, 0.5);
    border-color: #6ee7b7;
}

.rk-dl2-btn svg { transition: transform 0.3s; }
.rk-dl2-btn:hover svg { transform: translateY(3px); }

/* STOPKA MODUŁU */
.rk-dl2-footer {
    padding: 20px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-dl2-border);
    font-size: 13px;
    color: #64748b;
    text-align: center;
}

.rk-dl2-footer a {
    color: var(--rk-dl2-accent);
    font-weight: 700;
    text-decoration: none;
}

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#infografika-pdf",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Frezowanie podłogówki – Kompendium Wiedzy (Infografika PDF)",
    "description": "Pobierz inżynierskie zestawienie technologii frezowania ogrzewania podłogowego. Schematy, koszty, grubości jastrychu i najczęstsze błędy w jednym pliku PDF.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Frezowanie-ogrzewania-podlogowego-w-starym-domu.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-infografika",
    "name": "Matryca decyzyjna: Frezowanie vs Tradycyjne Kucie",
    "description": "Zbiór danych określający wady, zalety oraz techniczne wymagania brzegowe (nośność, grubość) dla wylewek poddawanych nacinaniu diamentowemu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika frezowanie podłogówki",
      "porównanie kucie a frezowanie pdf",
      "schemat układania rur w bruzdach",
      "wymagania wylewki pod frezowanie",
      "błędy instalatora ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Zestawienie analityczne kosztów i czasu realizacji opracowane na podstawie normy PN-EN 1264-4.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Technologiczna karta porównawcza instalacji płaszczyznowych"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#download-hub",
    "name": "Centrum Pobierania Wiedzy: Frezowanie",
    "description": "Interaktywny moduł umożliwiający wizualizację HD i pobranie autorskiej dokumentacji technicznej w formacie wektorowym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="rk-dl2-container" id="app-frez-dl">
    
    <div class="rk-dl2-header">
        <div class="rk-dl2-header-content">
            <div class="rk-dl2-badge">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" style="margin-right:4px;"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                Darmowe Materiały PDF
            </div>
            <h2>Pobierz Kompendium Wiedzy</h2>
            <p>Zabierz inżynierską wiedzę na budowę. Kompletne zestawienie technologii frezowania, schematy ułożenia rur i checklisty błędów w jednym pliku.</p>
        </div>
        <div class="rk-dl2-visual">
            <svg class="rk-dl2-icon-svg" viewBox="0 0 100 120" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M20 10 C20 4.477 24.477 0 30 0 L70 0 L100 30 L100 110 C100 115.523 95.523 120 90 120 L30 120 C24.477 120 20 115.523 20 110 Z" fill="#ef4444" stroke="#ffffff" stroke-width="4"/>
                <path d="M70 0 L70 30 L100 30" fill="#b91c1c"/>
                <circle cx="60" cy="65" r="15" fill="none" stroke="#ffffff" stroke-width="4" stroke-dasharray="8 4"/>
                <circle cx="60" cy="65" r="4" fill="#ffffff"/>
                <rect x="0" y="85" width="55" height="25" rx="4" fill="#ffffff" stroke="#ef4444" stroke-width="2"/>
                <text x="8" y="103" fill="#ef4444" font-size="16" font-weight="900" font-family="sans-serif">PDF</text>
            </svg>
        </div>
    </div>

    <div class="rk-dl2-workspace">
        
        <div class="rk-dl2-preview" onclick="window.open('https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Frezowanie-ogrzewania-podlogowego-w-starym-domu.webp', '_blank')">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Frezowanie-ogrzewania-podlogowego-w-starym-domu.webp" alt="Infografika Frezowanie ogrzewania podłogowego w starym domu" class="rk-dl2-img" loading="lazy">
            <div class="rk-dl2-zoom-tag">
                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                Kliknij, aby powiększyć
            </div>
        </div>

        <div class="rk-dl2-info">
            <h3>Co znajdziesz w infografice?</h3>
            <ul class="rk-dl2-list">
                <li class="rk-dl2-item">
                    <svg class="rk-dl2-check" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    <span><strong>Analiza Porównawcza:</strong> Tradycyjne kucie kontra bezpyłowe frezowanie.</span>
                </li>
                <li class="rk-dl2-item">
                    <svg class="rk-dl2-check" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    <span><strong>Wymagania Techniczne:</strong> Krytyczne grubości i dopuszczalne klasy jastrychu.</span>
                </li>
                <li class="rk-dl2-item">
                    <svg class="rk-dl2-check" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    <span><strong>Czerwone Flagi:</strong> Lista najczęstszych, kosztownych błędów instalatorów.</span>
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Frezowanie-ogrzewania-podlogowego-w-starym-domu.pdf" class="rk-dl2-btn" target="_blank" download>
                POBIERZ PLIK W WYSOKIEJ JAKOŚCI
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
            </a>
            
            <p style="margin-top: 20px; font-size: 13.5px; color: #64748b; line-height: 1.5;">
                Zabezpiecz swoją inwestycję z autorskim <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" style="color:var(--rk-dl2-brand-dark); font-weight:800; text-decoration:underline;">Projektem Ogrzewania Podłogowego OZC</a>. Obliczenia na twardych danych uchronią Cię przed awarią.
            </p>
        </div>

    </div>

    <div class="rk-dl2-footer">
        © 2026 Projekt-Ogrzewania.pl | Inżynier HVAC: <strong>Robert Kucharski</strong>. Możesz udostępniać ten plik dalej (z zachowaniem linku).
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA (Bez tagów nagłówkowych) ---
    const allowedHost = window.location.hostname;
    const whitelisted = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!whitelisted.includes(allowedHost)) {
        const dApp = document.getElementById('app-frez-dl');
        if (dApp) {
            dApp.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 10px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 800; color: #ef4444; margin-bottom: 10px;">Zasoby Chronione Licencją</div>
                    <p style="color: #cbd5e1; font-size: 14px; margin: 0;">Ta infografika i dokumentacja PDF są własnością serwisu Projekt-Ogrzewania.pl. Osadzanie na zewnętrznych domenach jest zablokowane.</p>
                </div>
            `;
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/">Frezowanie ogrzewania podłogowego w starym domu.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Czy ogrzewanie podłogowe można podłączyć do grzejników?</title>
		<link>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 06:13:10 +0000</pubDate>
				<category><![CDATA[Błędy instalacyjne]]></category>
		<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Modernizacja budynków]]></category>
		<category><![CDATA[Modernizacja domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[błędy instalatorów]]></category>
		<category><![CDATA[grupa pompowa]]></category>
		<category><![CDATA[instalacja mieszana]]></category>
		<category><![CDATA[modernizacja ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[opór cieplny]]></category>
		<category><![CDATA[podłogówka i grzejniki]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozdzielacz podłogówki]]></category>
		<category><![CDATA[sprzęgło hydrauliczne]]></category>
		<category><![CDATA[temperatura zasilania]]></category>
		<category><![CDATA[zapotrzebowanie na ciepło]]></category>
		<category><![CDATA[zawór mieszający]]></category>
		<category><![CDATA[zawór trójdrogowy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4089</guid>

					<description><![CDATA[<p>Wielu inwestorów planujących modernizację starego domu lub budowę nowego, w którym część pomieszczeń ma być ogrzewana tradycyjnie, zastanawia się, czy ogrzewanie podłogowe można podłączyć do grzejników. Rozwiązanie to jest jak najbardziej wykonalne, jednak wymaga ogromnej precyzji, odpowiedniego projektu oraz zastosowania układów mieszających. Bezpośrednie wpięcie podłogówki w obieg grzejnikowy to najszybsza droga do zniszczenia posadzki i przegrzania pomieszczeń. Dowiedz się, jak krok po kroku zaprojektować bezpieczną i wydajną instalację mieszaną, unikając najdroższych błędów montażowych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/">Czy ogrzewanie podłogowe można podłączyć do grzejników?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Czy ogrzewanie podłogowe można podłączyć do grzejników?</strong> To pytanie zadaje sobie coraz więcej inwestorów modernizujących stare instalacje lub projektujących domy z myślą o komforcie i oszczędności energii. Odpowiedź brzmi: <strong>tak, ale wyłącznie pod ścisłymi warunkami i przy zastosowaniu specjalistycznych komponentów</strong>. Bezpośrednie połączenie tych dwóch systemów, bez odpowiednich urządzeń pośredniczących, prowadzi do przegrzewania podłóg, uszkodzenia wylewki, a nawet awarii kotła. W tym artykule przeprowadzę Cię przez wszystkie zasady, wymagania i obliczenia niezbędne do zaprojektowania sprawnej instalacji mieszanej od różnic temperaturowych, przez dobór zaworów mieszających, po praktyczne wzory i przykłady liczbowe.</p>



<h2 class="wp-block-heading">Dlaczego bezpośrednie podłączenie ogrzewania podłogowego do grzejników jest niemożliwe?</h2>



<p class="wp-block-paragraph">Aby zrozumieć problem, musisz spojrzeć na podstawowe parametry pracy obu systemów. <strong>Grzejniki</strong> (standardowe płytowe lub członowe) zaprojektowano do pracy z wysoką temperaturą zasilania najczęściej <strong>75°C / 65°C / 20°C</strong> (zasilanie / powrót / pomieszczenie) lub w nowszych instalacjach niskotemperaturowych <strong>55/45/20</strong>. Z kolei <strong><a href="https://projekt-ogrzewania.pl" type="link" id="https://projekt-ogrzewania.pl">ogrzewanie podłogowe</a></strong> wymaga wody o temperaturze <strong>35-45°C</strong> na zasilaniu i nie więcej niż <strong>30-35°C</strong> na powrocie, aby temperatura powierzchni podłogi nie przekroczyła 27-29°C (dla pomieszczeń mieszkalnych).</p>



<p class="wp-block-paragraph">Jeśli puścisz wodę o temperaturze 60°C przez pętle podłogówki, efekt będzie natychmiastowy: podłoga nagrzeje się do ponad 40°C, co nie tylko dyskwalifikuje komfort użytkowania, ale również powoduje:</p>



<ul class="wp-block-list">
<li><strong>Spękanie jastrychu</strong>&nbsp;(różnice rozszerzalności termicznej)</li>



<li><strong>Uszkodzenie wykładzin</strong>&nbsp;(panele, deski – odkształcenia, kleje tracą właściwości)</li>



<li><strong>Nadmierne straty ciepła w dół</strong>&nbsp;(jeśli izolacja nie jest idealna)</li>



<li><strong>Przegrzewanie pomieszczeń</strong>&nbsp;– wysoka bezwładność podłogówki sprawia, że nawet po zamknięciu zaworu temperatura rośnie jeszcze przez kilka godzin</li>
</ul>



<p class="wp-block-paragraph">Z drugiej strony, jeśli obniżysz temperaturę całej instalacji do 40°C, aby zasilić podłogówkę, <strong>grzejniki przestaną efektywnie grzać</strong> ich moc spadnie nawet o 70-80%. Przykładowo, grzejnik o mocy 2000 W przy parametrach 75/65/20, po obniżeniu zasilania do 45°C, osiągnie zaledwie około 500-600 W. Dom będzie zimny.</p>



<p class="wp-block-paragraph">Stąd jedyne rozsądne rozwiązanie to <strong>instalacja mieszana</strong>, w której <a href="https://projekt-ogrzewania.pl/kociol-gazowy/" type="link" id="https://projekt-ogrzewania.pl/kociol-gazowy/">kocioł</a> (lub <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">pompa ciepła</a>) wytwarza wodę o wysokiej temperaturze dla grzejników, a dla ogrzewania podłogowego montuje się <strong>układ mieszający</strong>, który obniża temperaturę i stabilizuje przepływ.</p>



<h2 class="wp-block-heading">Kluczowe elementy instalacji mieszanej – co musi znaleźć się w projekcie?</h2>



<p class="wp-block-paragraph">Zanim przejdziemy do obliczeń, omówmy fizyczne komponenty, bez których&nbsp;<strong>instalacja mieszana</strong>&nbsp;nie ma prawa działać poprawnie. Każdy z nich pełni określoną funkcję – pominięcie jednego to proszenie się o awarię.</p>



<h3 class="wp-block-heading"><a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">Zawór mieszający</a> trójdrogowy i czterodrogowy – różnice i zastosowanie</h3>



<p class="wp-block-paragraph">To serce układu. Zawór miesza gorącą wodę z powrotu z podłogówki (schłodzoną) tak, aby uzyskać zadaną, niską temperaturę zasilania pętli.</p>



<ul class="wp-block-list">
<li><strong>Zawór trójdrogowy</strong>&nbsp;(popularniejszy w domowych instalacjach) ma jeden dopływ gorącej wody z kotła, drugi dopływ schłodzonej wody z powrotu podłogówki i jeden wylot na zasilanie pętli. Siłownik (termostatyczny lub elektryczny) reguluje proporcje mieszania.<br><em>Przykład</em>: Głowica termostatyczna ustawiona na 40°C. Gdy temperatura na zasilaniu podłogówki wzrośnie powyżej 40°C, zawór ogranicza dopływ gorącej wody z kotła, a zwiększa dopływ chłodniejszej z powrotu.</li>



<li><strong>Zawór czterodrogowy</strong>&nbsp;– bardziej skomplikowany, ale daje większą stabilność. Posiada dwa wejścia (gorąca z kotła, chłodna z powrotu) i dwa wyjścia (na zasilanie pętli i na powrót do kotła). Umożliwia również recyrkulację części wody wewnątrz obiegu podłogowego, co jest korzystne przy dużych powierzchniach.</li>
</ul>



<p class="wp-block-paragraph"><strong>Ważne</strong>: Zawór musi być dobrany przepływowo. Jego&nbsp;<strong>współczynnik Kv</strong>&nbsp;(przepływ w m³/h przy spadku ciśnienia 1 bara) powinien być o 10-20% wyższy niż maksymalny przepływ w obiegu podłogowym. Dla typowego domu o powierzchni 100 m², gdzie przepływ wynosi około 1,2-1,8 m³/h, dobierz zawór o Kv = 2,0-2,5.</p>



<h3 class="wp-block-heading">Pompa obiegowa i rozdział hydrauliczny</h3>



<p class="wp-block-paragraph">W instalacji mieszanej potrzebujesz&nbsp;<strong>dwóch pomp</strong>&nbsp;(chyba że kocioł ma własną, a układ podłogowy wyposażysz w dodatkową):</p>



<ul class="wp-block-list">
<li><strong>Pompa kotłowa</strong>&nbsp;– zapewnia cyrkulację przez grzejniki i dostarcza gorącą wodę do zaworu mieszającego.</li>



<li><strong>Pompa obiegowa podłogówki</strong>&nbsp;– zamontowana za zaworem mieszającym, tłoczy wodę o obniżonej temperaturze przez rozdzielacz i pętle.</li>
</ul>



<p class="wp-block-paragraph"><strong>Kluczowe parametry pompy podłogówki</strong>: Wydajność (Q) i wysokość podnoszenia (H). Wylicza się je z oporów przepływu w najdłuższej pętli. Przykład: dla pętli z rury 16&#215;2 mm o długości 90 m, przy różnicy temperatur 10°C (zasilanie 40°C, powrót 30°C) i mocy pętli 1200 W, przepływ wynosi:</p>



<style>
/* Kontener zapobiegający rozjeżdżaniu się strony na małych ekranach */
.math-eq-container {
    overflow-x: auto;
    padding: 20px 0;
    margin: 20px 0;
    text-align: center;
    background: #f8fafc; /* Delikatne tło, żeby wzór się wyróżniał (opcjonalne) */
    border-radius: 12px;
}

/* Główne style dla równania */
.math-eq {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Times New Roman", Times, serif; /* Klasyczna czcionka matematyczna */
    font-size: 20px;
    color: #0f172a;
    white-space: nowrap;
}

/* Zmienne (litery) w matematyce zawsze zapisujemy kursywą */
.math-eq i {
    font-style: italic;
}

/* Style dla ułamków */
.math-eq .frac {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    margin: 0 6px;
    vertical-align: middle;
}

/* Licznik ułamka (kreska na dole) */
.math-eq .num {
    border-bottom: 1px solid #0f172a;
    padding: 0 4px;
    line-height: 1.2;
}

/* Mianownik ułamka */
.math-eq .den {
    padding: 0 4px;
    line-height: 1.2;
}

/* Znaki równości, przybliżenia i mnożenia */
.math-eq .sign {
    margin: 0 6px;
}
</style>

<div class="math-eq-container">
    <div class="math-eq">
        <i>V&#7746;</i> 
        
        <span class="sign">=</span>
        
        <div class="frac">
            <div class="num"><i>P</i></div>
            <div class="den"><i>c<sub>p</sub></i> &middot; &Delta;<i>T</i> &middot; <i>&rho;</i></div>
        </div>
        
        <span class="sign">=</span>
        
        <div class="frac">
            <div class="num">1200</div>
            <div class="den">4186 &middot; 10 &middot; 1000</div>
        </div>
        
        <span class="sign">&approx;</span>
        <span>0,000287 m<sup>3</sup>/s</span>
        
        <span class="sign">=</span>
        <span>0,287 l/s</span>
        
        <span class="sign">&approx;</span>
        <span>1,03 m<sup>3</sup>/h</span>
    </div>
</div>



<p class="wp-block-paragraph">Do tego dodaj opory liniowe (dla rury PE-RT 16 mm ok. 150 Pa/m) i miejscowe (rozdzielacz, zawory). Łącznie strata ciśnienia wyniesie około 25-35 kPa (2,5-3,5 m słupa wody). Dobierasz pompę np.&nbsp;<strong> 25-40</strong>&nbsp;(dla małych domów) lub&nbsp;<strong>25-60</strong>&nbsp;(dla większych instalacji).</p>



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

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

.scenarios-title {
    text-align: center;
    margin-bottom: 30px;
}

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

.scenarios-title p {
    color: #64748b;
    margin: 0 auto 5px auto;
    font-size: 16px;
    line-height: 1.6;
    max-width: 800px;
}

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

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

.scenario-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.12);
}

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

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

.header-text h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
}

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

.param-list {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
    flex-grow: 0; /* Zmienione na 0, aby to box z wynikiem wypelnial miejsce */
}

.param-list li {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 10px;
    color: #475569;
}

.param-list li strong {
    color: var(--primary);
    text-align: right;
    max-width: 60%;
}

.result-box {
    background: var(--bg-light);
    padding: 20px;
    border-radius: 16px;
    text-align: center;
    margin-bottom: 20px;
    border-top: 4px solid var(--accent);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-grow: 1; /* Kluczowa zmiana wymuszajaca równy rozmiar */
}

.result-box.success { border-color: var(--success); }
.result-box.warning { border-color: var(--warning); background: #fff7ed; }

.r-thick {
    display: block;
    font-size: 18px;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 8px;
    line-height: 1.2;
}

.r-value {
    display: inline-block;
    background: #ffffff;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.result-box.success .r-value { color: var(--success); }
.result-box.warning .r-value { color: var(--warning); }

.justification {
    font-size: 12px;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    background: #f8fafc;
    padding: 15px;
    border-radius: 12px;
    border-left: 3px solid #cbd5e1;
    margin-top: auto; /* Dopycha ten element w dół na równo */
}

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

<div class="premium-scenarios" id="scenarios-app">
    <div class="scenarios-title">
        <h2>Przykłady i wyliczenia w praktyce.</h2>
        <p>Zobacz 3 typowe scenariusze dla instalacji mieszanej krok po kroku.</p>
        <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; font-size: 16px; text-decoration: none;">Przykłady opracowane przez ekspertów Projekt-Ogrzewania.pl.</a>
    </div>

    <div class="scenario-grid">
        <div class="scenario-card">
            <div class="card-header">
                <div class="icon-box">📊</div>
                <div class="header-text">
                    <span>Krok 1</span>
                    <h4>Zapotrzebowanie i przepływ</h4>
                </div>
            </div>
            
            <ul class="param-list">
                <li>Straty ciepła: <strong>65 W/m²</strong></li>
                <li>Pow. podłogówki: <strong>80 m²</strong></li>
                <li>Zasilanie/Powrót: <strong>40°C / 30°C (ΔT=10°C)</strong></li>
                <li>Rozstaw rur: <strong>15 cm (standard)</strong></li>
            </ul>

            <div class="result-box success">
                <span class="r-thick">Moc: 5200 W</span>
                <span style="font-size: 11px; color:#64748b; display:block; margin-bottom: 8px;">(Przepływ całego rozdzielacza)</span>
                <div class="r-value">V = 446 l/h (0,446 m³/h)</div>
            </div>

            <p class="justification"><strong>Uzasadnienie:</strong> Dzieląc ten wynik na 5 pętli (po ok. 16 m² na pętlę), każda z nich będzie miała moc około 1040 W oraz wymagała przepływu rzędu 90 l/h (0,025 l/s).</p>
        </div>

        <div class="scenario-card">
            <div class="card-header">
                <div class="icon-box">🎛️</div>
                <div class="header-text">
                    <span>Krok 2</span>
                    <h4>Bilans zaworu trójdrogowego</h4>
                </div>
            </div>
            
            <ul class="param-list">
                <li>Woda z kotła (gorąca): <strong>70°C</strong></li>
                <li>Woda z powrotu (chłodna): <strong>30°C</strong></li>
                <li>Zasilanie pętli (cel): <strong>40°C</strong></li>
                <li>Równanie: <strong>x&middot;70 + (1-x)&middot;30 = 40</strong></li>
            </ul>

            <div class="result-box success">
                <span class="r-thick">Otwarcie zaworu</span>
                <span style="font-size: 11px; color:#64748b; display:block; margin-bottom: 8px;">(Udział wody kotłowej)</span>
                <div class="r-value">25% (x = 0,25)</div>
            </div>

            <p class="justification"><strong>Uzasadnienie:</strong> Zawór miesza zaledwie 25% gorącej wody z kotła z 75% schłodzonej wody z powrotu podłogówki. Dzięki temu system pracuje stabilnie i w komfortowym zakresie regulacji.</p>
        </div>

        <div class="scenario-card">
            <div class="card-header">
                <div class="icon-box">♨️</div>
                <div class="header-text">
                    <span>Krok 3</span>
                    <h4>Moc grzejników (piętro)</h4>
                </div>
            </div>
            
            <ul class="param-list">
                <li>Pow. grzejników: <strong>70 m²</strong></li>
                <li>Straty ciepła: <strong>55 W/m² (wymaga 3850 W)</strong></li>
                <li>Temp. instalacji: <strong>70/50°C</strong></li>
                <li>Moc nominalna grzejników: <strong>7000 W</strong></li>
            </ul>

            <div class="result-box warning">
                <span class="r-thick">Rzeczywista moc</span>
                <span style="font-size: 11px; color:#64748b; display:block; margin-bottom: 8px;">(Spadek o 20% przy 70/50°C)</span>
                <div class="r-value">Moc: ~ 5600 W</div>
            </div>

            <p class="justification"><strong>Uzasadnienie:</strong> Stare grzejniki były dobierane pod parametry 75/65°C. Po obniżeniu zasilania na kotle do 70°C ich moc spada, ale 5600 W wciąż z zapasem pokrywa zapotrzebowanie piętra (3850 W).</p>
        </div>
    </div>
</div>

<script>
// ZABEZPIECZENIE DOMENOWE (Domain Lock) - Wersja bezpieczna dla WordPressa
document.addEventListener('DOMContentLoaded', function() {
    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('scenarios-app');
        if (appContainer) {
            var warningHtml = [
                '<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>',
                '<h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>',
                '<p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Te przykłady obliczeniowe są własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostały 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>'
            ];
            appContainer.innerHTML = warningHtml.join('');
        }
    }
});
</script>



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

.article-product-banner {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(37, 99, 235, 0.15);
    border: 1px solid var(--border-color);
    border-top: 5px solid var(--accent);
    display: flex;
    overflow: hidden;
    color: var(--primary);
    transition: transform 0.3s ease;
}

.article-product-banner:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 40px -10px rgba(37, 99, 235, 0.2);
}

.apb-image-col {
    flex: 0 0 40%;
    background: var(--bg-light);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    position: relative;
}

.apb-image-col img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    mix-blend-mode: multiply; /* Usuwa białe tło ze zdjęcia, jeśli jest */
}

.apb-content-col {
    flex: 1;
    padding: 35px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.apb-badge {
    display: inline-block;
    align-self: flex-start;
    background: #eff6ff;
    color: var(--accent);
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
}

.apb-title {
    margin: 0 0 12px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary);
    line-height: 1.3;
}

.apb-desc {
    margin: 0 0 20px 0;
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
}

.apb-features {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
}

.apb-features li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
    font-size: 14px;
    color: #334155;
    font-weight: 600;
}

.apb-features li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--success);
    font-size: 16px;
    font-weight: 900;
}

.apb-btn-wrapper {
    margin-top: auto;
}

.apb-btn {
    display: inline-block;
    background: var(--accent);
    color: #ffffff;
    text-decoration: none;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 800;
    font-size: 15px;
    transition: 0.3s;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2);
}

.apb-btn:hover {
    background: #1d4ed8;
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 6px 15px rgba(37, 99, 235, 0.3);
}

@media (max-width: 768px) {
    .article-product-banner {
        flex-direction: column;
    }
    .apb-image-col {
        padding: 20px;
        border-bottom: 1px solid var(--border-color);
    }
    .apb-content-col {
        padding: 25px 20px;
    }
    .apb-title {
        font-size: 20px;
    }
    .apb-btn {
        display: block;
        text-align: center;
    }
}
</style>

<div class="article-product-banner">
    <div class="apb-image-col">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Uklad-mieszajacy-KISAN®-z-pompa-elektroniczna-WILO.webp" alt="Układ mieszający KISAN z pompą WILO" loading="lazy">
    </div>
    <div class="apb-content-col">
        <div class="apb-badge">Idealne do instalacji mieszanej</div>
        <h3 class="apb-title">Układ mieszający KISAN® z pompą WILO</h3>
        <div class="apb-desc">Zabezpiecz swoją podłogówkę przed zbyt wysoką temperaturą z kotła. Gotowy do montażu moduł, który płynnie obniża i stabilizuje temperaturę.</div>
        
        <ul class="apb-features">
            <li>Termostatyczny zawór trójdrogowy w zestawie</li>
            <li>Energooszczędna pompa elektroniczna WILO</li>
            <li>Szybki montaż dzięki półśrubunkom G 1&#8243;</li>
        </ul>
        
        <div class="apb-btn-wrapper">
            <a href="https://projekt-ogrzewania.pl/produkt/uklad-mieszajacy-kisan-z-pompa-elektroniczna-wilo/" class="apb-btn" target="_blank">Sprawdź cenę w sklepie →</a>
        </div>
    </div>
</div>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego w systemie mieszanym – na co zwrócić uwagę?</h2>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt ogrzewania podłogowego</a> w instalacji mieszanej to coś więcej niż tylko rozrysowanie pętli. Musisz uwzględnić współpracę dwóch obiegów o różnych parametrach. Oto kluczowe zasady:</p>



<ol start="1" class="wp-block-list">
<li><strong>Oddzielenie hydrauliczne</strong>&nbsp;– jeśli kocioł ma małą pojemność wodną (np. nowe kotły gazowe z dużym oporem wymiennika), warto zastosować&nbsp;<strong>sprzęgło hydrauliczne</strong>&nbsp;lub&nbsp;<strong>bufor</strong>. Bez tego pompa podłogówki może “zabierać” przepływ grzejnikom, powodując ich niedogrzanie. Sprzęgło wyrównuje ciśnienia.</li>



<li><strong>Sterowanie pogodowe</strong>&nbsp;– dla instalacji mieszanej idealnym rozwiązaniem jest regulator z dwoma czujnikami temperatury zewnętrznej i dwoma krzywymi grzania: jedną dla grzejników (wyższe nachylenie), drugą dla podłogówki (płaska, niska). Dzięki temu przy mrozach -20°C grzejniki dostaną 75°C, a podłogówka tylko 45°C.</li>



<li><strong>Zabezpieczenie przed przegrzaniem</strong>&nbsp;– każdy rozdzielacz podłogówki musi mieć&nbsp;<strong>zawór termostatyczny</strong>&nbsp;lub siłownik elektryczny z czujnikiem zasilania. Jeśli temperatura wzrośnie powyżej zadanej, zawór odcina dopływ z kotła. To obowiązek wynikający z normy PN-EN 1264.</li>



<li><strong>Dokumentacja techniczna</strong>&nbsp;– projekt instalacji mieszanej powinien zawierać:
<ul class="wp-block-list">
<li>Obliczenia strat ciepła dla każdego pomieszczenia osobno (dla podłogówki i dla grzejników).</li>



<li>Dobór rozstawu rur dla podłogówki (co 10-15-20 cm w zależności od zapotrzebowania).</li>



<li>Schemat ideowy układu mieszającego z zaznaczeniem średnic rur, zaworów i pomp.</li>



<li>Charakterystyki przepływowo-oporowe dla każdej pętli – konieczne do późniejszej regulacji.</li>
</ul>
</li>
</ol>



<p class="wp-block-paragraph">Pamiętaj:&nbsp;<strong>projekt ogrzewania podłogowego w systemie mieszanym</strong>&nbsp;wykonywany przez niedoświadczonego instalatora to ryzyko, że grzejniki będą grzały, a podłoga pozostanie zimna (lub odwrotnie). Zleć to specjaliście lub sam dokładnie przelicz, korzystając z podanych wzorów.</p>



<h2 class="wp-block-heading">Wykres charakterystyki pracy zaworu mieszającego – interpretacja</h2>



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

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

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

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

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

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

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

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

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

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

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

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

<div class="premium-chart-box" id="chart-app-container">
    <div class="chart-header">
        <h3>Charakterystyka pracy zaworu mieszającego</h3>
        <div class="chart-header-sub">Zależność temperatury zasilania podłogówki od stopnia otwarcia zaworu (kocioł 70°C, powrót 30°C) <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Wykres opracowany przez Projekt-Ogrzewania.pl</a></div>
    </div>
    <div class="chart-canvas-wrapper">
        <canvas id="valveChart"></canvas>
    </div>
    <div class="chart-footer">
        <div class="chart-icon">⚠️</div>
        <div class="chart-conclusion"><strong>Praktyczna konsekwencja:</strong> Krzywa nie jest liniowa! <strong>Nie ustawiaj zaworu w połowie skali (50%)</strong>, bo tam jest najbardziej wrażliwy na wahania temperatur. Najlepiej i najstabilniej układ pracuje w przedziale otwarcia 20-40%.</div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // ZABEZPIECZENIE DOMENOWE (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 container = document.getElementById('chart-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: 400px;"><span style="font-size: 48px; margin-bottom: 20px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight:bold;">Wykres chroniony prawem autorskim</div><div style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5; margin-top: 15px;">Ten interaktywny wykres jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany na tę stronę nielegalnie.</div><a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a></div>';
        }
        return; 
    }

    var canvasEl = document.getElementById('valveChart');
    if(!canvasEl) return; 
    
    var ctx = canvasEl.getContext('2d');
    
    var gradientFill = ctx.createLinearGradient(0, 0, 0, 400);
    gradientFill.addColorStop(0, 'rgba(37, 99, 235, 0.2)');
    gradientFill.addColorStop(1, 'rgba(255, 255, 255, 0)');

    var pointBackgroundColors = [];
    var pointBorderColors = [];
    var pointRadii = [];
    
    var valveOpenings = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100];
    var temperatures = [30, 31, 32, 35, 39, 44, 48, 50, 55, 62, 70];

    for (var i = 0; i < valveOpenings.length; i++) {
        var temp = temperatures[i];
        if (temp <= 42) {
            pointBackgroundColors.push('#ffffff');
            pointBorderColors.push('#2563eb'); 
            pointRadii.push(6);
        } else {
            pointBackgroundColors.push('#ffffff');
            pointBorderColors.push('#ea580c'); 
            pointRadii.push(8);
        }
    }

    new Chart(ctx, {
        type: 'line',
        data: {
            labels: ['0%', '10%', '20%', '30%', '40%', '50%', '60%', '70%', '80%', '90%', '100%'],
            datasets: [{
                label: 'Temperatura zasilania podłogówki (°C)',
                data: temperatures,
                borderColor: '#2563eb', 
                borderWidth: 3,
                backgroundColor: gradientFill,
                fill: true,
                tension: 0.4, 
                pointBackgroundColor: pointBackgroundColors,
                pointBorderColor: pointBorderColors,
                pointBorderWidth: 3,
                pointRadius: pointRadii,
                pointHoverRadius: 9
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: { display: false },
                tooltip: {
                    backgroundColor: '#0f172a',
                    titleFont: { family: 'Inter', size: 14, weight: 'bold' },
                    bodyFont: { family: 'Inter', size: 14 },
                    padding: 12,
                    displayColors: false,
                    callbacks: {
                        title: function(context) { return 'Otwarcie zaworu: ' + context[0].label; },
                        label: function(context) { return 'Temperatura: ' + context.parsed.y + ' °C'; }
                    }
                }
            },
            scales: {
                x: {
                    grid: { display: false },
                    ticks: { font: { family: 'Inter', size: 13, weight: '600' }, color: '#64748b' },
                    title: {
                        display: true, text: 'Stopień otwarcia zaworu (%)', font: { family: 'Inter', size: 14, weight: 'bold' }, color: '#0f172a', padding: {top: 10}
                    }
                },
                y: {
                    beginAtZero: false, min: 25, max: 75,
                    grid: { color: '#f1f5f9', drawBorder: false },
                    ticks: {
                        stepSize: 5, font: { family: 'Inter', size: 13 }, color: '#64748b',
                        callback: function(value) { return value + ' °C'; }
                    },
                    title: {
                        display: true, text: 'Temperatura (°C)', font: { family: 'Inter', size: 14, weight: 'bold' }, color: '#0f172a', padding: {bottom: 10}
                    }
                }
            }
        }
    });
});
</script>



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

/* 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(3, 1fr);
    gap: 12px;
    margin-bottom: 30px;
}

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

.type-btn span {
    margin-top: 4px;
    font-size: 10px;
    font-weight: 400;
}

.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; color: var(--accent);}
.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 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: #fff; }

/* 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(-2px); box-shadow: 0 5px 15px rgba(37, 99, 235, 0.2); }

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

<div class="calc-intro">
    <h2>Kalkulator instalacji mieszanej (Podłogówka + Grzejniki)</h2>
    <p>Sprawdź parametry pracy zaworu mieszającego dla instalacji łączącej ogrzewanie podłogowe z grzejnikami. Autorskie narzędzie inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: #2563eb; font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>. Narzędzie obliczy m.in. wymagany przepływ i wskaże odpowiednią wielkość zaworu (Kv).</p>
</div>

<div class="screed-calc" id="screed-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            <span class="section-title">1. Zapotrzebowanie budynku na ciepło</span>
            <div class="type-selector">
                <div class="type-btn" id="btn-old">DOM STARY<span>Słabo ocieplony (100 W/m²)</span></div>
                <div class="type-btn active" id="btn-mod">MODERNIZOWANY<span>Średnie ocieplenie (65 W/m²)</span></div>
                <div class="type-btn" id="btn-new">NOWY / PASYWNY<span>Dobra izolacja (40 W/m²)</span></div>
            </div>

            <span class="section-title">2. Parametry podłogówki</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia ogrzewania podłogowego</label><span class="val-badge"><span id="v-area">80</span> m²</span></div>
                <input type="range" id="area" min="10" max="250" value="80">
            </div>
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Docelowa temp. zasilania podłogówki</label><span class="val-badge"><span id="v-tFloor">40</span> °C</span></div>
                <input type="range" id="tFloor" min="30" max="45" step="1" value="40">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Zalecana 35-40°C. Standardowy spadek temp. pętli (ΔT) wynosi 10°C.</div>
            </div>

            <span class="section-title">3. Parametry grzejników (Kotła)</span>
            <div class="input-wrap" style="margin-bottom:0">
                <div class="input-label-row"><label>Temperatura zasilania z kotła</label><span class="val-badge"><span id="v-tBoiler">70</span> °C</span></div>
                <input type="range" id="tBoiler" min="45" max="85" step="1" value="70">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Gorąca woda, która będzie redukowana przez zawór mieszający.</div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Udział gorącej wody z kotła na zaworze</span>
                <span class="score-num" id="resRatio">--</span>
                <span class="score-label" style="text-transform: none;">Resztę stanowi chłodna woda z powrotu podłogówki</span>
                <div id="risk-msg">⚠️ Uwaga!</div>
                
                <div style="height:14px; display:flex; border-radius:7px; overflow:hidden; margin-top:15px; background:#e2e8f0; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);">
                    <div id="bar-boiler" style="background:#dc2626; width:25%; transition: 0.3s;" title="Woda z kotła"></div>
                    <div id="bar-return" style="background:#3b82f6; width:75%; transition: 0.3s;" title="Powrót z podłogówki"></div>
                </div>
                <div style="display: flex; justify-content: space-between; font-size: 10px; color: #64748b; margin-top: 5px; font-weight: 700;">
                    <span style="color:#dc2626">Z KOTŁA (Gorąca)</span>
                    <span style="color:#3b82f6">Z POWROTU (Chłodniejsza)</span>
                </div>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Moc cieplna podłogówki:</span><strong id="resPower">--</strong></div>
                <div class="tech-item"><span>Całkowity przepływ (podłogówka):</span><strong id="resFlowFloor">--</strong></div>
                <div class="tech-item"><span>Wymagany przepływ z kotła:</span><strong id="resFlowBoiler">--</strong></div>
                
                <div class="material-grid">
                    <div class="mini-card"><span title="Zalecany współczynnik przepływu dla zaworu mieszającego">Zalecane min. Kv zaworu:</span><strong id="resKv" style="color:#fbbf24">--</strong></div>
                    <div class="mini-card"><span>Szacowana liczba pętli:</span><strong id="resLoops">--</strong></div>
                </div>
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Błędy w mieszaniu kosztują najwięcej!</h3>
            <p style="margin:0; font-size:14px; color:#475569">Złe dobranie zaworu 3-drogowego lub brak sprzęgła skutkuje zimną podłogą i przepałami na kotle. Zleć nam profesjonalny projekt, by zyskać pewność, że układ zadziała idealnie.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="javascript:void(0)" id="btn-email" class="cta-btn" style="background:#1e293b">
                WYŚLIJ WYNIKI NA E-MAIL
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT OGRZEWANIA →
            </a>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    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('screed-calc-app');
        if (appContainer) {
            var warningHtml = [
                '<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>',
                '<h3 style="margin-top:0; font-size: 24px; color: #dc2626;">Narzędzie chronione</h3>',
                '<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>'
            ];
            appContainer.innerHTML = warningHtml.join('');
        }
        return; 
    }

    var heatDemand = 65;
    var demandName = 'Modernizowany (65 W/m²)';
    var DELTA_T = 10;
    var SPECIFIC_HEAT = 4186;

    function updateCalc() {
        var areaEl = document.getElementById('area');
        var tFloorEl = document.getElementById('tFloor');
        var tBoilerEl = document.getElementById('tBoiler');
        
        if (!areaEl) return;
        if (!tFloorEl) return;
        if (!tBoilerEl) return;

        var area = parseFloat(areaEl.value);
        var tFloor = parseFloat(tFloorEl.value);
        var tBoiler = parseFloat(tBoilerEl.value);
        var tReturn = tFloor - DELTA_T;

        document.getElementById('v-area').innerText = area;
        document.getElementById('v-tFloor').innerText = tFloor;
        document.getElementById('v-tBoiler').innerText = tBoiler;

        var powerW = area * heatDemand;
        var flowFloorLps = powerW / (SPECIFIC_HEAT * DELTA_T);
        var flowFloorM3h = flowFloorLps * 3.6;
        
        var x = 0;
        var rMsg = document.getElementById('risk-msg');
        var mBox = document.getElementById('mainBox');
        var warnings = [];
        var boxColor = 'var(--success)';

        if (tBoiler <= tFloor) {
            x = 1;
            warnings.push('❌ Temp. kotła musi być wyższa niż temp. zasilania podłogówki!');
            boxColor = 'var(--danger)';
        } else {
            x = (tFloor - tReturn) / (tBoiler - tReturn);
            if (x < 0) { x = 0; }
            if (x > 1) { x = 1; }
        }

        var ratioPercent = (x * 100).toFixed(1);
        var flowBoilerM3h = x * flowFloorM3h;
        
        if (x > 0) {
            if (x < 0.2) {
                if (tBoiler > tFloor) {
                    warnings.push('⚠️ Zawór będzie otwarty tylko w ' + ratioPercent + '%. Ryzyko niestabilnej pracy i skoków temperatury (rozważ mniejszy zawór Kv lub obniżenie temp. kotła).');
                    boxColor = 'var(--warning)';
                }
            }
        }
        
        if (tBoiler > 75) {
            warnings.push('ℹ️ Bardzo wysoka temp. z kotła. Zaleca się montaż czujnika przylgowego odcinającego pompę przy awarii zaworu mieszającego.');
            if (boxColor === 'var(--success)') {
                boxColor = 'var(--warning)';
            }
        }

        var estimatedKv = (flowFloorM3h * 1.2).toFixed(2);
        var loops = Math.ceil(area / 16);

        document.getElementById('resRatio').innerText = ratioPercent + '%';
        document.getElementById('resPower').innerText = (powerW / 1000).toFixed(1) + ' kW';
        document.getElementById('resFlowFloor').innerText = flowFloorM3h.toFixed(2) + ' m³/h';
        document.getElementById('resFlowBoiler').innerText = flowBoilerM3h.toFixed(3) + ' m³/h';
        document.getElementById('resKv').innerText = '≥ ' + estimatedKv;
        document.getElementById('resLoops').innerText = loops + ' szt.';

        document.getElementById('bar-boiler').style.width = ratioPercent + '%';
        document.getElementById('bar-return').style.width = (100 - ratioPercent) + '%';

        if (warnings.length > 0) {
            rMsg.innerHTML = warnings.join('<br><br>');
            rMsg.style.display = 'block';
        } else {
            rMsg.style.display = 'none';
        }
        mBox.style.borderColor = boxColor;
        
        if (boxColor === 'var(--warning)') {
            document.getElementById('resRatio').style.color = 'var(--warning)';
        } else if (boxColor === 'var(--danger)') {
            document.getElementById('resRatio').style.color = 'var(--danger)';
        } else {
            document.getElementById('resRatio').style.color = 'var(--accent)';
        }
    }

    var demands = {
        'btn-old': { val: 100, name: 'Stary dom (100 W/m²)' },
        'btn-mod': { val: 65, name: 'Modernizowany (65 W/m²)' },
        'btn-new': { val: 40, name: 'Nowy energooszczędny (40 W/m²)' }
    };

    var btnKeys = Object.keys(demands);
    for (var i = 0; i < btnKeys.length; i++) {
        (function(btnId) {
            var btn = document.getElementById(btnId);
            if(btn) {
                btn.addEventListener('click', function(e) {
                    heatDemand = demands[btnId].val;
                    demandName = demands[btnId].name;
                    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]);
    }

    var inputs = ['area', 'tFloor', 'tBoiler'];
    for (var k = 0; k < inputs.length; k++) {
        var inputEl = document.getElementById(inputs[k]);
        if (inputEl) {
            inputEl.addEventListener('input', updateCalc);
        }
    }

    var btnEmail = document.getElementById('btn-email');
    if(btnEmail) {
        btnEmail.addEventListener('click', function() {
            var area = document.getElementById('v-area').innerText;
            var tF = document.getElementById('v-tFloor').innerText;
            var tB = document.getElementById('v-tBoiler').innerText;
            var ratio = document.getElementById('resRatio').innerText;
            var power = document.getElementById('resPower').innerText;
            var kv = document.getElementById('resKv').innerText;
            var loops = document.getElementById('resLoops').innerText;
            
            var email = 'biuro@projekt-ogrzewania.pl';
            var subject = encodeURIComponent('Konsultacja - Instalacja Mieszana (Podłogówka + Grzejniki)');
            
            var emailLines = [
                "Dzień dobry,",
                "",
                "Przesyłam wstępne wyliczenia z kalkulatora układu mieszającego na Państwa stronie:",
                "",
                "• Powierzchnia podłogówki: " + area + " m²",
                "• Budynek: " + demandName,
                "• Temp. kotła (grzejników): " + tB + " °C",
                "• Żądana temp. podłogówki: " + tF + " °C",
                "------------------------------------",
                "• Wymagana moc pętli: " + power,
                "• Proporcja otwarcia zaworu: " + ratio + " (woda gorąca)",
                "• Wymagany zawór: Kv " + kv,
                "• Szacunkowa liczba pętli: " + loops,
                "",
                "Proszę o wycenę profesjonalnego projektu ogrzewania z uwzględnieniem tych parametrów."
            ];
            
            var ampersand = String.fromCharCode(38);           
            window.location.href = 'mailto:' + email + '?subject=' + subject + ampersand + 'body=' + encodeURIComponent(emailLines.join('\n'));
        });
    }

    updateCalc();
});
</script>



<h2 class="wp-block-heading">Najczęstsze błędy przy łączeniu systemów – jak ich uniknąć</h2>



<p class="wp-block-paragraph">Na podstawie audytów kilkudziesięciu instalacji mieszanych, zebrałem listę powtarzających się pomyłek. Unikniesz ich, jeśli zastosujesz się do powyższych wyliczeń i zasad.</p>



<ol start="1" class="wp-block-list">
<li><strong>Brak zaworu różnicowego</strong>&nbsp;– gdy pompa podłogówki pracuje, a część pętli jest zamknięta (np. przez termostaty pokojowe), wzrasta ciśnienie. Może to uszkodzić rozdzielacz. Zawsze montuj&nbsp;<strong>zawór bypass</strong>&nbsp;(przelewowy) ustawiony na 0,3-0,5 bara powyżej nominalnej różnicy ciśnień.</li>



<li><strong>Zbyt długie pętle</strong>&nbsp;– dla rury 16 mm maksymalna długość pętli to 100-120 m (przy ΔT=10°C). Dłuższe powodują zbyt duży spadek ciśnienia i niedogrzanie końca pętli. Lepiej podzielić na dwie krótsze.</li>



<li><strong>Pompa podłogówki bez regulacji</strong> – stała prędkość pompy generuje niepotrzebny hałas i zużycie prądu. Zastosuj <strong>pompę z modulacją</strong> lub zamontuj zawór równoważący na rozdzielaczu.</li>



<li><strong>Brak izolacji między pętlami a grzejnikami w jednym pomieszczeniu</strong>&nbsp;– jeśli w salonie masz i podłogówkę, i grzejnik (np. przy ścianie zewnętrznej), to grzejnik będzie zaburzał pracę termostatu podłogowego. Unikaj takich rozwiązań. Jeśli już musisz, to daj osobne regulatory.</li>



<li><strong>Kocioł bez możliwości obniżenia temperatury minimalnej</strong>&nbsp;– niektóre stare kotły węglowe lub gazowe nie mogą pracować z temperaturą powrotu poniżej 50°C (grozi korozja). Dla instalacji mieszanej z podłogówką potrzebujesz kotła przystosowanego do niskich powrotów (kotły kondensacyjne, pompy ciepła).</li>
</ol>



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<div class="premium-questions" id="qa-app-installer">
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "Czy mogę podłączyć podłogówkę bezpośrednio do powrotu z grzejnika?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Absolutnie nie! Woda wracająca z grzejnika może mieć 50-60°C. To zniszczy jastrych, panele i spowoduje ogromny dyskomfort. Potrzebny jest zawór mieszający z własną pompą (tzw. grupa pompowa)."
        }
      }, {
        "@type": "Question",
        "name": "Co się stanie, jeśli obniżę temperaturę na kotle do 40°C dla obu systemów?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Ogrzewanie podłogowe zadziała świetnie, ale grzejniki stracą nawet 80% swojej mocy. Pomieszczenia z grzejnikami pozostaną niedogrzane. Musisz mieć układ mieszający, by rozdzielić te dwie strefy temperaturowe."
        }
      }, {
        "@type": "Question",
        "name": "Czy do instalacji mieszanej wystarczy zawór bez pompy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie. Zawór mieszający wytwarza tak duże opory, a układ podłogowy wymaga tak stabilnego przepływu, że pompa za zaworem jest całkowicie niezbędna."
        }
      }, {
        "@type": "Question",
        "name": "Dlaczego kocioł gazowy gaśnie po dołożeniu podłogówki (taktuje)?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "To efekt braku sprzęgła hydraulicznego. Pompy (od kotła i od podłogówki) „walczą” o przepływ, a kocioł gubi się w odczytach temperatur. Sprzęgło stabilizuje układ i pozwala pompom pracować niezależnie."
        }
      }, {
        "@type": "Question",
        "name": "Na ile otworzyć zawór trójdrogowy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zależy to od temperatury na kotle i oczekiwanej na podłogówce. Ustawienie go ręcznie na „pół” (50%) to błąd, bo krzywa mieszania nie jest liniowa. Najlepiej użyć siłownika elektrycznego z czujnikiem."
        }
      }]
    }
    </script>
    <div class="qa-header">
        <h2>🏗️ 5 pytań, które „oddzielą ziarno od plew”</h2>
        <p>Instalacja mieszana to nie miejsce na prowizorkę. Oto pytania, które pomogą Ci ocenić, czy Twój instalator wie, jak połączyć te dwa światy. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Weryfikacja przygotowana przez inżynierów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="qa-list">
        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">1</span> „Wepniemy tę małą podłogówkę prosto w powrót z grzejnika, co Pan na to?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Pewnie, damy zawór RTL (tzw. ogranicznik temperatury powrotu) na końcu i będzie działać pięknie i tanio”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Absolutnie nie! Woda uderzy w pętlę ze zbyt wysoką temperaturą, co grozi pęknięciem wylewki. Montujemy układ pompowo-mieszający rozdzielający parametry”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">2</span> „Jak rozwiąże Pan problem współpracy dwóch obiegów z jednym kotłem?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Zepniemy trójnikami. Pompa w kotle jest mocna, przepcha i grzejniki, i podłogówkę, szkoda kasy na dodatkowe sprzęty”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Musimy zastosować sprzęgło hydrauliczne. Rozdzieli ono zład wody kotłowej od wody instalacyjnej, dzięki czemu pompy obiegowe nie będą na siebie negatywnie oddziaływać”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">3</span> „Jak dobierze Pan zawór mieszający do naszej podłogówki?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Bierze się standardowy zawór trójdrogowy 1-calowy, pasuje do każdej rury, nie ma co tu liczyć”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Zawór dobieram na podstawie współczynnika Kv i wymaganego przepływu. Zbyt mały Kv to szum i opory, a zbyt duży to skoki temperatur i problem z precyzyjną regulacją”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">4</span> „Co zrobić, gdy wyjadę na urlop i zmieni się pogoda na zewnątrz?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„A to musi Pan ręcznie pokręcić zaworem na rozdzielaczu, żeby wpuścić więcej gorącej wody na podłogi”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Ustawimy automatykę pogodową. System sam podniesie temperaturę na grzejniki, a siłownik na zaworze mieszającym dobierze bezpieczną, chłodniejszą wodę na podłogi”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">5</span> „Czy kocioł węglowy/peletowy sprawdzi się przy tej instalacji?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Tak, po prostu skręcimy go na 40 stopni i będzie idealnie do podłogi, bez żadnych mieszaczy”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Tak, ale takie kotły wymagają wysokiej temperatury powrotu dla ochrony przed korozją (tzw. ochrona powrotu). Wymaga to bufora ciepła lub zaworu czterodrogowego i zaawansowanego sterownika”.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="red-flags-section">
        <div class="red-flags-header">
            <span style="font-size: 32px;">🚩</span>
            <h3>Czerwone flagi (Uciekaj, jeśli to usłyszysz!)</h3>
        </div>
        <ul class="flags-list">
            <li>„Zawór trójdrogowy? Panie, zepniemy to RTL-em z powrotu od kaloryfera, po co przepłacać.”</li>
            <li>„Sprzęgło hydrauliczne to tylko naciąganie na koszty. Mam pompę 25/60, to uciągnie cały dom.”</li>
            <li>„Podłogówka i tak grzeje długo, to nie trzeba jej regulować, tylko otworzyć rozdzielacz na maksa.” (Uwaga: to gwarancja przegrzanych płytek i spękanej posadzki!)</li>
        </ul>
    </div>
</div>

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



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



<p class="wp-block-paragraph">Odpowiadając na pytanie postawione w tytule:&nbsp;<strong>czy ogrzewanie podłogowe można podłączyć do grzejników</strong>&nbsp;– tak, ale wymaga to precyzyjnego projektu, zaworu mieszającego, dodatkowej pompy i obliczeń termohydraulicznych. Instalacja mieszana to nie jest zadanie dla amatora, ale przy zachowaniu powyższych zasad (różnica temperatur, dobór Kv, bilans mocy, zabezpieczenie przed przegrzaniem) możesz cieszyć się komfortem podłogówki i szybkim dogrzewaniem grzejników w jednym systemie.</p>



<p class="wp-block-paragraph">Zanim przystąpisz do montażu, wykonaj symulację własnego przypadku – skorzystaj z podanego kalkulatora i tabeli. Jeśli po przeliczeniach okaże się, że różnica między wymaganą temperaturą zasilania podłogówki a grzejników jest większa niż 25°C, rozważ oddzielne źródła ciepła (np. kocioł + pompa ciepła tylko do podłogówki) albo zastosowanie&nbsp;<strong>wymiennika płytowego</strong>&nbsp;z własnym obiegiem pierwotnym. W przeciwnym razie straty na mieszaniu będą zbyt wysokie.</p>



<p class="wp-block-paragraph">Masz już wiedzę na poziomie pozwalającym na świadomą rozmowę z projektantem. A jeśli chcesz jeszcze głębiej wejść w temat – polecam normę <strong><a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/" type="link" id="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264</a> .</strong></p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/">Czy ogrzewanie podłogowe można podłączyć do grzejników?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
