<?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 izolacja budynku - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/tag/izolacja-budynku/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/tag/izolacja-budynku/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Fri, 16 Oct 2026 03:53:30 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa izolacja budynku - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/izolacja-budynku/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Jak gęsto rozkładać podłogówkę? Rozstaw rur w pomieszczeniach i strefach</title>
		<link>https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/</link>
					<comments>https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 24 Jan 2025 09:26:29 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Ekologiczne ogrzewanie]]></category>
		<category><![CDATA[Izolacja budynków]]></category>
		<category><![CDATA[Komfort cieplny w domu]]></category>
		<category><![CDATA[Koszty instalacji grzewczych]]></category>
		<category><![CDATA[Nowoczesne systemy grzewcze]]></category>
		<category><![CDATA[Ogrzewanie niskotemperaturowe]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Rozstaw rur w podłogówce]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[ekologiczne systemy grzewcze]]></category>
		<category><![CDATA[izolacja budynku]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[koszty instalacji]]></category>
		<category><![CDATA[niskotemperaturowe ogrzewanie]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projektowanie instalacji]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[wodne ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2015</guid>

					<description><![CDATA[<p>Jak gęsto rozkładać podłogówkę? To pytanie nurtuje wielu inwestorów planujących instalację ogrzewania podłogowego. Rozstaw rur zależy od wielu czynników, takich jak typ pomieszczenia, izolacja budynku czy rodzaj posadzki. W artykule wyjaśniamy, jak dobrać optymalny rozstaw rur, aby zapewnić efektywność systemu i komfort cieplny. Dowiedz się, jakie są najczęściej stosowane rozstawy i jak wpływają one na koszty oraz wydajność ogrzewania.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/">Jak gęsto rozkładać podłogówkę? Rozstaw rur w pomieszczeniach i strefach</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-layout-guide {
    --rk-dark: #102536;
    --rk-navy: #14384d;
    --rk-blue: #078fbe;
    --rk-cyan: #25c7d8;
    --rk-cyan-soft: #e8fbff;
    --rk-orange: #ff6a3d;
    --rk-orange-soft: #fff1eb;
    --rk-green: #16836b;
    --rk-green-soft: #eaf8f3;
    --rk-yellow: #e6ad2f;
    --rk-yellow-soft: #fff8df;
    --rk-red: #d94b3d;
    --rk-red-soft: #fff0ee;
    --rk-purple: #695ac9;
    --rk-purple-soft: #f1efff;
    --rk-ink: #1f2c37;
    --rk-text: #475967;
    --rk-muted: #6b7e8a;
    --rk-line: #d5e4eb;
    --rk-soft: #f4f9fb;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1180px;
    margin: 34px auto 72px;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.75;
  }

  #rk-layout-guide,
  #rk-layout-guide * { box-sizing: border-box; }
  #rk-layout-guide img,
  #rk-layout-guide svg { display: block; max-width: 100%; }
  #rk-layout-guide a { color: var(--rk-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
  #rk-layout-guide p { margin: 0 0 18px; }
  #rk-layout-guide ul,
  #rk-layout-guide ol { margin: 0 0 20px; padding-left: 24px; }
  #rk-layout-guide li + li { margin-top: 8px; }
  #rk-layout-guide strong { color: var(--rk-dark); }
  #rk-layout-guide sub { font-size: .7em; }
  #rk-layout-guide section[id] { scroll-margin-top: 28px; }

  #rk-layout-guide .rk-layout-shell {
    position: relative;
    overflow: hidden;
    background: var(--rk-white);
    border: 1px solid var(--rk-line);
    border-radius: 28px;
    box-shadow: 0 24px 65px rgba(16, 37, 54, .10);
  }

  #rk-layout-guide .rk-layout-progress-track {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 6;
    height: 6px;
    background: rgba(255, 255, 255, .15);
  }

  #rk-layout-guide .rk-layout-progress {
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--rk-cyan), var(--rk-orange));
  }

  #rk-layout-guide .rk-layout-hero {
    position: relative;
    overflow: hidden;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 88% 18%, rgba(37, 199, 216, .24), transparent 29%),
      radial-gradient(circle at 8% 110%, rgba(255, 106, 61, .20), transparent 33%),
      linear-gradient(130deg, #0f2738 0%, #143e53 58%, #102536 100%);
  }

  #rk-layout-guide .rk-layout-hero::after {
    content: "";
    position: absolute;
    top: -55%;
    right: -7%;
    width: 310px;
    height: 620px;
    border: 34px solid rgba(255, 255, 255, .05);
    border-radius: 50%;
    transform: rotate(-15deg);
  }

  #rk-layout-guide .rk-layout-hero-inner {
    position: relative;
    z-index: 2;
    padding: 72px 72px 64px;
  }

  #rk-layout-guide .rk-layout-eyebrow,
  #rk-layout-guide .rk-layout-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--rk-blue);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-layout-guide .rk-layout-eyebrow { color: #8cf3ff; }
  #rk-layout-guide .rk-layout-eyebrow b {
    width: 9px;
    height: 9px;
    border-radius: 99px;
    background: var(--rk-orange);
    box-shadow: 0 0 0 7px rgba(255, 106, 61, .14);
  }

  #rk-layout-guide .rk-layout-hero-title {
    max-width: 950px;
    margin: 18px 0 20px;
    color: var(--rk-white);
    font-size: clamp(2rem, 4.5vw, 4rem);
    font-weight: 950;
    letter-spacing: -.045em;
    line-height: 1.02;
  }

  #rk-layout-guide .rk-layout-hero-lead {
    max-width: 880px;
    margin-bottom: 28px;
    color: #dceef4;
    font-size: 1.09rem;
    line-height: 1.68;
  }

  #rk-layout-guide .rk-layout-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 11px 24px;
    color: #b9d5df;
    font-size: .76rem;
    font-weight: 750;
  }

  #rk-layout-guide .rk-layout-meta span { display: inline-flex; align-items: center; gap: 8px; }
  #rk-layout-guide .rk-layout-meta i { width: 7px; height: 7px; border-radius: 99px; background: var(--rk-cyan); }

  #rk-layout-guide .rk-layout-nav {
    padding: 24px 34px 25px;
    border-bottom: 1px solid var(--rk-line);
    background: #fbfdfe;
  }

  #rk-layout-guide .rk-layout-nav strong {
    display: block;
    margin: 0 0 12px;
    color: var(--rk-muted);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  #rk-layout-guide .rk-layout-nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
  #rk-layout-guide .rk-layout-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 39px;
    padding: 8px 14px;
    color: var(--rk-dark);
    font-size: .74rem;
    font-weight: 850;
    line-height: 1.25;
    text-decoration: none;
    background: #edf5f8;
    border: 1px solid transparent;
    border-radius: 999px;
    transition: .2s ease;
  }

  #rk-layout-guide .rk-layout-nav a:hover,
  #rk-layout-guide .rk-layout-nav a:focus-visible {
    color: var(--rk-blue);
    border-color: var(--rk-cyan);
    background: var(--rk-cyan-soft);
    transform: translateY(-1px);
  }

  #rk-layout-guide .rk-layout-section { padding: 68px 72px; border-bottom: 1px solid var(--rk-line); }
  #rk-layout-guide .rk-layout-section:nth-of-type(even) { background: #fcfeff; }
  #rk-layout-guide h2 {
    max-width: 920px;
    margin: 9px 0 21px;
    color: var(--rk-dark);
    font-size: clamp(1.65rem, 3.2vw, 2.65rem);
    font-weight: 950;
    letter-spacing: -.035em;
    line-height: 1.12;
  }

  #rk-layout-guide h3 {
    margin: 0 0 10px;
    color: var(--rk-dark);
    font-size: 1.14rem;
    font-weight: 900;
    letter-spacing: -.015em;
    line-height: 1.28;
  }

  #rk-layout-guide h4 {
    margin: 0 0 8px;
    color: var(--rk-dark);
    font-size: .92rem;
    font-weight: 900;
    line-height: 1.35;
  }

  #rk-layout-guide .rk-layout-intro { max-width: 940px; color: var(--rk-text); font-size: 1.05rem; }
  #rk-layout-guide .rk-layout-answer {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(260px, .75fr);
    overflow: hidden;
    margin: 30px 0;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
  }

  #rk-layout-guide .rk-layout-answer-main { padding: 30px; background: var(--rk-cyan-soft); }
  #rk-layout-guide .rk-layout-answer-side { padding: 30px; background: var(--rk-dark); }
  #rk-layout-guide .rk-layout-answer-side h3 { color: var(--rk-white); }
  #rk-layout-guide .rk-layout-answer-side p { color: #d7e9ef; }

  #rk-layout-guide .rk-layout-formula {
    margin: 28px 0;
    padding: 26px 28px;
    color: var(--rk-dark);
    background: linear-gradient(135deg, var(--rk-yellow-soft), #fffdf4);
    border: 1px solid #f0d887;
    border-left: 5px solid var(--rk-yellow);
    border-radius: 16px;
  }

  #rk-layout-guide .rk-layout-formula strong { display: block; margin-bottom: 8px; font-size: 1.23rem; }
  #rk-layout-guide .rk-layout-formula span { display: block; color: var(--rk-text); font-size: .88rem; }

  #rk-layout-guide .rk-layout-grid-2,
  #rk-layout-guide .rk-layout-grid-3,
  #rk-layout-guide .rk-layout-grid-4 { display: grid; gap: 18px; margin-top: 26px; }
  #rk-layout-guide .rk-layout-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #rk-layout-guide .rk-layout-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #rk-layout-guide .rk-layout-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

  #rk-layout-guide .rk-layout-card {
    padding: 25px;
    background: var(--rk-white);
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(16, 37, 54, .045);
  }

  #rk-layout-guide .rk-layout-card p:last-child { margin-bottom: 0; }
  #rk-layout-guide .rk-layout-card-number {
    display: block;
    margin-bottom: 15px;
    color: var(--rk-blue);
    font-size: .66rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  #rk-layout-guide .rk-layout-notice {
    margin: 26px 0 0;
    padding: 20px 22px;
    border: 1px solid var(--rk-line);
    border-left: 5px solid var(--rk-blue);
    border-radius: 14px;
    background: var(--rk-cyan-soft);
  }

  #rk-layout-guide .rk-layout-notice.is-orange { border-left-color: var(--rk-orange); background: var(--rk-orange-soft); }
  #rk-layout-guide .rk-layout-notice.is-green { border-left-color: var(--rk-green); background: var(--rk-green-soft); }
  #rk-layout-guide .rk-layout-notice.is-yellow { border-left-color: var(--rk-yellow); background: var(--rk-yellow-soft); }
  #rk-layout-guide .rk-layout-notice p:last-child { margin-bottom: 0; }

  #rk-layout-guide .rk-layout-tool {
    overflow: hidden;
    margin-top: 30px;
    color: #eaf6fa;
    background: var(--rk-dark);
    border: 1px solid #305269;
    border-radius: 24px;
    box-shadow: 0 22px 46px rgba(16, 37, 54, .18);
  }

  #rk-layout-guide .rk-layout-tool strong,
  #rk-layout-guide .rk-layout-tool h3,
  #rk-layout-guide .rk-layout-tool h4 { color: var(--rk-white); }
  #rk-layout-guide .rk-layout-tool p { color: #c7dce4; }
  #rk-layout-guide .rk-layout-tool-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 26px;
    padding: 30px 34px;
    background: linear-gradient(135deg, #14384d, #174d61);
    border-bottom: 1px solid #31566c;
  }

  #rk-layout-guide .rk-layout-tool-head p { max-width: 760px; margin: 5px 0 0; font-size: .82rem; }
  #rk-layout-guide .rk-layout-reset {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 9px 16px;
    color: #dff8fc;
    font: inherit;
    font-size: .74rem;
    font-weight: 850;
    cursor: pointer;
    border: 1px solid #50778a;
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
  }

  #rk-layout-guide .rk-layout-reset:hover,
  #rk-layout-guide .rk-layout-reset:focus-visible { border-color: var(--rk-cyan); background: rgba(37, 199, 216, .12); }
  #rk-layout-guide .rk-layout-input-panel { padding: 28px 34px 32px; border-bottom: 1px solid #31566c; }
  #rk-layout-guide .rk-layout-input-panel > h3 { margin-bottom: 5px; }
  #rk-layout-guide .rk-layout-input-panel > p { margin-bottom: 22px; font-size: .78rem; }
  #rk-layout-guide .rk-layout-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  #rk-layout-guide .rk-layout-field { min-width: 0; }
  #rk-layout-guide .rk-layout-field label {
    display: block;
    min-height: 42px;
    margin-bottom: 7px;
    color: #ecf8fb;
    font-size: .70rem;
    font-weight: 850;
    line-height: 1.35;
  }

  #rk-layout-guide .rk-layout-field input,
  #rk-layout-guide .rk-layout-field select {
    width: 100%;
    height: 46px;
    margin: 0;
    padding: 9px 12px;
    color: var(--rk-dark);
    font: inherit;
    font-size: .82rem;
    background: var(--rk-white);
    border: 1px solid #a9c0cb;
    border-radius: 9px;
    outline: none;
  }

  #rk-layout-guide .rk-layout-field input:focus,
  #rk-layout-guide .rk-layout-field select:focus { border-color: var(--rk-cyan); box-shadow: 0 0 0 3px rgba(37, 199, 216, .16); }
  #rk-layout-guide .rk-layout-field input:disabled,
  #rk-layout-guide .rk-layout-field select:disabled { color: #718490; background: #dfe9ed; cursor: not-allowed; }
  #rk-layout-guide .rk-layout-field small { display: block; margin-top: 6px; color: #96b4c0; font-size: .61rem; line-height: 1.42; }

  #rk-layout-guide .rk-layout-switch-wrap {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 8px 12px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid #4a6a7c;
    border-radius: 9px;
  }

  #rk-layout-guide .rk-layout-switch-wrap input { width: 20px; height: 20px; margin: 0 9px 0 0; accent-color: var(--rk-orange); }
  #rk-layout-guide .rk-layout-switch-wrap span { color: #f2fafc; font-size: .75rem; font-weight: 800; }

  #rk-layout-guide .rk-layout-live { padding: 26px 34px; border-bottom: 1px solid #31566c; background: #112c3e; }
  #rk-layout-guide .rk-layout-summary { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
  #rk-layout-guide .rk-layout-summary-card {
    min-width: 0;
    padding: 16px 14px;
    background: #17384a;
    border: 1px solid #3b6074;
    border-radius: 13px;
  }

  #rk-layout-guide .rk-layout-summary-card span { display: block; min-height: 34px; color: #9db9c4; font-size: .60rem; font-weight: 800; line-height: 1.35; text-transform: uppercase; }
  #rk-layout-guide .rk-layout-summary-card strong { display: block; margin-top: 7px; color: var(--rk-white); font-size: 1.03rem; line-height: 1.2; overflow-wrap: anywhere; }
  #rk-layout-guide .rk-layout-visual-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    padding: 28px 34px 18px;
    align-items: stretch;
  }

  #rk-layout-guide .rk-layout-visual-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 22px;
    background: #173344;
    border: 1px solid #3d6073;
    border-radius: 17px;
  }

  #rk-layout-guide .rk-layout-visual-card > p { margin-bottom: 15px; font-size: .72rem; }
  #rk-layout-guide .rk-layout-room-svg,
  #rk-layout-guide .rk-layout-chart-svg {
    width: 100%;
    height: auto;
    margin-top: auto;
    background: #f8fcfd;
    border: 1px solid #8da9b4;
    border-radius: 12px;
  }

  #rk-layout-guide .rk-layout-legend { display: flex; flex-wrap: wrap; gap: 8px 15px; margin-top: 13px; color: #bed3db; font-size: .63rem; font-weight: 760; }
  #rk-layout-guide .rk-layout-legend span { display: inline-flex; align-items: center; gap: 6px; }
  #rk-layout-guide .rk-layout-legend i { width: 12px; height: 4px; border-radius: 99px; }

  #rk-layout-guide .rk-layout-comparison {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
    padding: 0 34px 18px;
  }

  #rk-layout-guide .rk-layout-compare-card { padding: 18px; background: #173344; border: 1px solid #3d6073; border-radius: 14px; }
  #rk-layout-guide .rk-layout-compare-card.is-selected { border-color: var(--rk-cyan); box-shadow: inset 0 0 0 1px var(--rk-cyan); }
  #rk-layout-guide .rk-layout-compare-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
  #rk-layout-guide .rk-layout-compare-head strong { font-size: .96rem; }
  #rk-layout-guide .rk-layout-compare-head span { color: #91dfea; font-size: .60rem; font-weight: 850; text-transform: uppercase; }
  #rk-layout-guide .rk-layout-compare-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  #rk-layout-guide .rk-layout-compare-metrics div { padding: 10px; background: #102b3c; border-radius: 9px; }
  #rk-layout-guide .rk-layout-compare-metrics span { display: block; color: #8eabb7; font-size: .57rem; text-transform: uppercase; }
  #rk-layout-guide .rk-layout-compare-metrics b { display: block; margin-top: 4px; color: var(--rk-white); font-size: .83rem; }

  #rk-layout-guide .rk-layout-diagnostics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; padding: 0 34px 30px; }
  #rk-layout-guide .rk-layout-diagnostic { padding: 18px; background: #173344; border: 1px solid #3d6073; border-left: 5px solid var(--rk-cyan); border-radius: 13px; }
  #rk-layout-guide .rk-layout-diagnostic.is-warn { border-left-color: var(--rk-orange); }
  #rk-layout-guide .rk-layout-diagnostic.is-alert { border-left-color: var(--rk-red); }
  #rk-layout-guide .rk-layout-diagnostic.is-ok { border-left-color: var(--rk-green); }
  #rk-layout-guide .rk-layout-diagnostic span { display: block; margin-bottom: 6px; color: #8facb8; font-size: .58rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
  #rk-layout-guide .rk-layout-diagnostic strong { display: block; margin-bottom: 7px; font-size: .87rem; }
  #rk-layout-guide .rk-layout-diagnostic p { margin: 0; color: #bdd1d9; font-size: .68rem; line-height: 1.55; }

  #rk-layout-guide .rk-layout-tool-disclaimer { margin: 0; padding: 0 34px 28px; color: #91adb8; font-size: .63rem; }

  #rk-layout-guide .rk-layout-cta {
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 46px 54px;
    color: var(--rk-white);
    background: linear-gradient(135deg, #102536, #165267);
  }

  #rk-layout-guide .rk-layout-cta::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 310px;
    height: 310px;
    border: 34px solid rgba(37, 199, 216, .10);
    border-radius: 50%;
  }

  #rk-layout-guide .rk-layout-cta > * { position: relative; z-index: 2; }
  #rk-layout-guide .rk-layout-cta h2 { color: var(--rk-white); }
  #rk-layout-guide .rk-layout-cta p { max-width: 920px; color: #d6e8ee; }
  #rk-layout-guide .rk-layout-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin-top: 10px;
    padding: 13px 23px;
    color: var(--rk-white) !important;
    font-size: .83rem;
    font-weight: 950;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
    background: linear-gradient(135deg, var(--rk-orange), #ff8a46);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 11px;
    box-shadow: 0 12px 26px rgba(255, 106, 61, .24);
    transition: .2s ease;
  }

  #rk-layout-guide .rk-layout-cta-button:hover,
  #rk-layout-guide .rk-layout-cta-button:focus-visible { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(255, 106, 61, .32); }
  #rk-layout-guide .rk-layout-disclosure { display: block; max-width: 840px; margin-top: 12px; color: #9ebbc6; font-size: .61rem; }

  #rk-layout-guide .rk-layout-table-wrap { margin-top: 28px; }
  #rk-layout-guide .rk-layout-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    font-size: .82rem;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
  }

  #rk-layout-guide .rk-layout-table th,
  #rk-layout-guide .rk-layout-table td { padding: 15px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--rk-line); }
  #rk-layout-guide .rk-layout-table th { color: var(--rk-white); font-size: .69rem; line-height: 1.35; background: var(--rk-dark); }
  #rk-layout-guide .rk-layout-table td { color: var(--rk-text); background: var(--rk-white); }
  #rk-layout-guide .rk-layout-table tbody tr:last-child td { border-bottom: 0; }
  #rk-layout-guide .rk-layout-table td strong { display: block; }

  #rk-layout-guide .rk-layout-errors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 27px; }
  #rk-layout-guide .rk-layout-error { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 17px; align-items: start; padding: 20px; background: var(--rk-white); border: 1px solid var(--rk-line); border-radius: 15px; }
  #rk-layout-guide .rk-layout-error b { padding: 8px; color: var(--rk-red); font-size: .62rem; text-align: center; background: var(--rk-red-soft); border-radius: 8px; }
  #rk-layout-guide .rk-layout-error p { margin: 0; font-size: .82rem; }

  #rk-layout-guide .rk-layout-steps { counter-reset: rkstep; display: grid; gap: 14px; margin-top: 28px; }
  #rk-layout-guide .rk-layout-step { counter-increment: rkstep; display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 18px; align-items: start; padding: 22px; background: var(--rk-white); border: 1px solid var(--rk-line); border-radius: 15px; }
  #rk-layout-guide .rk-layout-step::before { content: counter(rkstep, decimal-leading-zero); display: grid; place-items: center; width: 48px; height: 48px; color: var(--rk-white); font-size: .75rem; font-weight: 950; background: var(--rk-blue); border-radius: 13px; }
  #rk-layout-guide .rk-layout-step p { margin: 0; font-size: .86rem; }

  #rk-layout-guide .rk-layout-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-top: 26px; }
  #rk-layout-guide .rk-layout-checkitem { position: relative; padding: 15px 16px 15px 47px; color: var(--rk-text); font-size: .81rem; background: var(--rk-white); border: 1px solid var(--rk-line); border-radius: 12px; }
  #rk-layout-guide .rk-layout-checkitem::before { content: "✓"; position: absolute; left: 15px; top: 14px; display: grid; place-items: center; width: 23px; height: 23px; color: var(--rk-white); font-size: .65rem; font-weight: 950; background: var(--rk-green); border-radius: 99px; }

  #rk-layout-guide .rk-layout-faq { display: grid; gap: 11px; margin-top: 26px; }
  #rk-layout-guide .rk-layout-faq details { overflow: hidden; background: var(--rk-white); border: 1px solid var(--rk-line); border-radius: 13px; }
  #rk-layout-guide .rk-layout-faq summary { position: relative; padding: 19px 56px 19px 20px; color: var(--rk-dark); font-size: .88rem; font-weight: 900; cursor: pointer; list-style: none; }
  #rk-layout-guide .rk-layout-faq summary::-webkit-details-marker { display: none; }
  #rk-layout-guide .rk-layout-faq summary::after { content: "+"; position: absolute; right: 18px; top: 50%; display: grid; place-items: center; width: 27px; height: 27px; color: var(--rk-blue); font-size: 1.1rem; background: var(--rk-cyan-soft); border-radius: 99px; transform: translateY(-50%); }
  #rk-layout-guide .rk-layout-faq details[open] summary::after { content: "−"; }
  #rk-layout-guide .rk-layout-faq-answer { padding: 0 20px 19px; color: var(--rk-text); font-size: .84rem; }
  #rk-layout-guide .rk-layout-faq-answer p:last-child { margin-bottom: 0; }

  #rk-layout-guide .rk-layout-source-box { margin-top: 25px; padding: 25px; background: var(--rk-soft); border: 1px solid var(--rk-line); border-radius: 15px; }
  #rk-layout-guide .rk-layout-source-box p { font-size: .82rem; }
  #rk-layout-guide .rk-layout-source-box p:last-child { margin-bottom: 0; }
  #rk-layout-guide .rk-layout-update { margin-top: 15px; color: var(--rk-muted); font-size: .68rem; font-weight: 800; }

  #rk-layout-guide .rk-layout-author { margin: 0; background: #f7fbfd; border-bottom: 1px solid var(--rk-line); }
  #rk-layout-guide .rk-layout-author > input { position: absolute; opacity: 0; pointer-events: none; }
  #rk-layout-guide .rk-layout-author-head { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 38px 52px 24px; }
  #rk-layout-guide .rk-layout-author-head h2 { margin-bottom: 5px; }
  #rk-layout-guide .rk-layout-author-head p { margin: 0; color: var(--rk-muted); font-size: .78rem; }
  #rk-layout-guide .rk-layout-author-mark { color: var(--rk-blue); font-size: .65rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
  #rk-layout-guide .rk-layout-author-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); border-top: 1px solid var(--rk-line); }
  #rk-layout-guide .rk-layout-author-side { padding: 28px; text-align: center; background: var(--rk-dark); }
  #rk-layout-guide .rk-layout-author-photo { width: 150px; height: 150px; margin: 0 auto 17px; overflow: hidden; border: 5px solid rgba(255, 255, 255, .12); border-radius: 50%; }
  #rk-layout-guide .rk-layout-author-photo img { width: 100%; height: 100%; object-fit: cover; }
  #rk-layout-guide .rk-layout-author-name { color: var(--rk-white); font-size: 1.1rem; font-weight: 950; }
  #rk-layout-guide .rk-layout-author-role { margin-top: 6px; color: #afc9d3; font-size: .68rem; line-height: 1.55; }
  #rk-layout-guide .rk-layout-author-social-label { margin-top: 24px; color: #87a6b2; font-size: .58rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
  #rk-layout-guide .rk-layout-author-social { display: flex; justify-content: center; gap: 9px; margin-top: 10px; }
  #rk-layout-guide .rk-layout-author-social a { display: grid; place-items: center; width: 41px; height: 41px; color: #cde2e9; border: 1px solid #446577; border-radius: 50%; transition: .2s ease; }
  #rk-layout-guide .rk-layout-author-social a:hover { color: var(--rk-cyan); border-color: var(--rk-cyan); transform: translateY(-2px); }
  #rk-layout-guide .rk-layout-author-social svg { width: 18px; height: 18px; fill: currentColor; }
  #rk-layout-guide .rk-layout-author-main { padding: 28px 34px 34px; }
  #rk-layout-guide .rk-layout-author-quote { position: relative; margin: 0 0 23px; padding: 23px 24px 23px 63px; background: var(--rk-white); border: 1px solid var(--rk-line); border-radius: 14px; }
  #rk-layout-guide .rk-layout-author-quote::before { content: "“"; position: absolute; left: 20px; top: 2px; color: var(--rk-cyan); font-family: Georgia, serif; font-size: 4rem; line-height: 1; }
  #rk-layout-guide .rk-layout-author-quote p { margin: 0; color: var(--rk-dark); font-size: .87rem; font-weight: 750; }
  #rk-layout-guide .rk-layout-author-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
  #rk-layout-guide .rk-layout-author-tab { padding: 9px 13px; color: var(--rk-muted); font-size: .63rem; font-weight: 900; cursor: pointer; background: #e8f1f5; border-radius: 999px; }
  #rk-layout-guide .rk-layout-author-panel { display: none; color: var(--rk-text); font-size: .80rem; }
  #rk-layout-guide #rk-layout-author-about:checked ~ .rk-layout-author-layout .rk-layout-author-panel-about,
  #rk-layout-guide #rk-layout-author-exp:checked ~ .rk-layout-author-layout .rk-layout-author-panel-exp,
  #rk-layout-guide #rk-layout-author-sites:checked ~ .rk-layout-author-layout .rk-layout-author-panel-sites { display: block; }
  #rk-layout-guide #rk-layout-author-about:checked ~ .rk-layout-author-layout label[for="rk-layout-author-about"],
  #rk-layout-guide #rk-layout-author-exp:checked ~ .rk-layout-author-layout label[for="rk-layout-author-exp"],
  #rk-layout-guide #rk-layout-author-sites:checked ~ .rk-layout-author-layout label[for="rk-layout-author-sites"] { color: var(--rk-white); background: var(--rk-blue); }
  #rk-layout-guide .rk-layout-site-links { display: flex; flex-wrap: wrap; gap: 9px; }
  #rk-layout-guide .rk-layout-site-links a { padding: 8px 12px; font-size: .66rem; font-weight: 850; text-decoration: none; background: var(--rk-cyan-soft); border-radius: 999px; }
  #rk-layout-guide .rk-layout-final-cta { padding-top: 58px; padding-bottom: 58px; }

  @media (max-width: 980px) {
    #rk-layout-guide .rk-layout-hero-inner,
    #rk-layout-guide .rk-layout-section { padding-left: 42px; padding-right: 42px; }
    #rk-layout-guide .rk-layout-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-layout-guide .rk-layout-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    #rk-layout-guide .rk-layout-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-layout-guide .rk-layout-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-layout-guide .rk-layout-author-layout { grid-template-columns: 255px minmax(0, 1fr); }
  }

  @media (max-width: 760px) {
    #rk-layout-guide { margin: 18px auto 46px; font-size: 16px; }
    #rk-layout-guide .rk-layout-shell { border-radius: 18px; }
    #rk-layout-guide .rk-layout-hero-inner { padding: 54px 24px 42px; }
    #rk-layout-guide .rk-layout-hero-title { font-size: clamp(2rem, 11vw, 3rem); }
    #rk-layout-guide .rk-layout-nav { padding: 20px 18px; }
    #rk-layout-guide .rk-layout-nav-links { gap: 7px; }
    #rk-layout-guide .rk-layout-nav a { min-height: 36px; padding: 7px 11px; font-size: .68rem; }
    #rk-layout-guide .rk-layout-section { padding: 48px 22px; }
    #rk-layout-guide .rk-layout-answer,
    #rk-layout-guide .rk-layout-grid-2,
    #rk-layout-guide .rk-layout-grid-3,
    #rk-layout-guide .rk-layout-grid-4,
    #rk-layout-guide .rk-layout-errors,
    #rk-layout-guide .rk-layout-checklist,
    #rk-layout-guide .rk-layout-visual-grid,
    #rk-layout-guide .rk-layout-comparison,
    #rk-layout-guide .rk-layout-diagnostics,
    #rk-layout-guide .rk-layout-author-layout { grid-template-columns: 1fr; }
    #rk-layout-guide .rk-layout-tool-head { display: block; padding: 25px 20px; }
    #rk-layout-guide .rk-layout-reset { margin-top: 8px; }
    #rk-layout-guide .rk-layout-input-panel,
    #rk-layout-guide .rk-layout-live { padding-left: 20px; padding-right: 20px; }
    #rk-layout-guide .rk-layout-fields { grid-template-columns: 1fr; }
    #rk-layout-guide .rk-layout-field label { min-height: 0; }
    #rk-layout-guide .rk-layout-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-layout-guide .rk-layout-visual-grid { padding: 22px 20px 14px; }
    #rk-layout-guide .rk-layout-comparison,
    #rk-layout-guide .rk-layout-diagnostics { padding-left: 20px; padding-right: 20px; }
    #rk-layout-guide .rk-layout-tool-disclaimer { padding-left: 20px; padding-right: 20px; }
    #rk-layout-guide .rk-layout-cta { padding: 42px 24px; }
    #rk-layout-guide .rk-layout-cta-button { width: 100%; }
    #rk-layout-guide .rk-layout-error { grid-template-columns: 72px minmax(0, 1fr); }
    #rk-layout-guide .rk-layout-author-head { display: block; padding: 34px 22px 22px; }
    #rk-layout-guide .rk-layout-author-mark { display: inline-block; margin-top: 14px; }
    #rk-layout-guide .rk-layout-author-main { padding: 24px 20px; }

    #rk-layout-guide .rk-layout-table { border: 0; background: transparent; }
    #rk-layout-guide .rk-layout-table thead { display: none; }
    #rk-layout-guide .rk-layout-table tbody,
    #rk-layout-guide .rk-layout-table tr,
    #rk-layout-guide .rk-layout-table td { display: block; width: 100%; }
    #rk-layout-guide .rk-layout-table tr { overflow: hidden; margin-bottom: 14px; border: 1px solid var(--rk-line); border-radius: 14px; box-shadow: 0 8px 22px rgba(16, 37, 54, .05); }
    #rk-layout-guide .rk-layout-table td { display: grid; grid-template-columns: minmax(105px, .75fr) minmax(0, 1.25fr); gap: 13px; padding: 13px 15px; border-bottom: 1px solid var(--rk-line); }
    #rk-layout-guide .rk-layout-table td::before { content: attr(data-label); color: var(--rk-muted); font-size: .62rem; font-weight: 900; line-height: 1.35; text-transform: uppercase; }
    #rk-layout-guide .rk-layout-table tr:last-child td { border-bottom: 1px solid var(--rk-line); }
    #rk-layout-guide .rk-layout-table td:last-child { border-bottom: 0; }
  }

  @media (max-width: 430px) {
    #rk-layout-guide .rk-layout-summary { grid-template-columns: 1fr 1fr; }
    #rk-layout-guide .rk-layout-summary-card { padding: 13px 11px; }
    #rk-layout-guide .rk-layout-summary-card strong { font-size: .90rem; }
    #rk-layout-guide .rk-layout-compare-metrics { grid-template-columns: 1fr; }
    #rk-layout-guide .rk-layout-step { grid-template-columns: 46px minmax(0, 1fr); padding: 17px; }
    #rk-layout-guide .rk-layout-step::before { width: 40px; height: 40px; }
  }

  @media (prefers-reduced-motion: reduce) {
    #rk-layout-guide *,
    #rk-layout-guide *::before,
    #rk-layout-guide *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  }
</style>

<article id="rk-layout-guide" aria-label="Jak gęsto rozkładać ogrzewanie podłogowe">
  <div class="rk-layout-shell">
    <div class="rk-layout-progress-track" aria-hidden="true"><div class="rk-layout-progress" id="rk-layout-progress"></div></div>

    <header class="rk-layout-hero">
      <div class="rk-layout-hero-inner">
        <span class="rk-layout-eyebrow"><b aria-hidden="true"></b> Projektowanie podłogówki • aktualizacja 2026</span>
        <div class="rk-layout-hero-title">Gęstość rur planuje się na rzucie, ale wybiera z obliczeń.</div>
        <p class="rk-layout-hero-lead">Sprawdź, jak powierzchnia czynna, stała zabudowa, strefa brzegowa i odległość od rozdzielacza zmieniają ilość rury oraz podział pomieszczenia na pętle. Bez gotowej recepty „łazienka 10 cm, salon 15 cm”.</p>
        <div class="rk-layout-meta">
          <span><i aria-hidden="true"></i> Czytanie: około 24 minuty</span>
          <span><i aria-hidden="true"></i> Planer rzutu i dynamiczny wykres</span>
          <span><i aria-hidden="true"></i> Aktualizacja: 30 sierpnia 2026 r.</span>
        </div>
      </div>
    </header>

    <nav class="rk-layout-nav" aria-label="Spis treści artykułu">
      <strong>Na skróty — wszystkie główne części poradnika</strong>
      <div class="rk-layout-nav-links">
        <a href="#rk-layout-answer">Szybka odpowiedź</a>
        <a href="#rk-layout-room-rule">Nie z nazwy pokoju</a>
        <a href="#rk-layout-data">Dane wejściowe</a>
        <a href="#rk-layout-active-area">Powierzchnia czynna</a>
        <a href="#rk-layout-planner-section">Planer pomieszczenia</a>
        <a href="#rk-layout-read-result">Odczyt wyniku</a>
        <a href="#rk-layout-zones">Różne strefy</a>
        <a href="#rk-layout-rooms">Pomieszczenia</a>
        <a href="#rk-layout-glazing">Duże przeszklenia</a>
        <a href="#rk-layout-floor">Podłoga i jastrych</a>
        <a href="#rk-layout-spacing-options">Rozstaw 5–20 cm</a>
        <a href="#rk-layout-loops">Rura i pętle</a>
        <a href="#rk-layout-systems">System mokry i suchy</a>
        <a href="#rk-layout-errors">Błędy</a>
        <a href="#rk-layout-howto">Planowanie krok po kroku</a>
        <a href="#rk-layout-checklist">Checklista</a>
        <a href="#rk-layout-faq">FAQ</a>
        <a href="#rk-layout-sources">Źródła</a>
      </div>
    </nav>

    <main>
      <section class="rk-layout-section" id="rk-layout-answer">
        <span class="rk-layout-kicker">Odpowiedź w 60 sekund</span>
        <h2>Jak gęsto rozkładać podłogówkę?</h2>
        <p class="rk-layout-intro">Ani 10, ani 15, ani 20 cm nie jest rozstawem automatycznie poprawnym dla całego domu. Najpierw trzeba znać projektową stratę ciepła konkretnego pomieszczenia oraz powierzchnię podłogi, która rzeczywiście będzie oddawała ciepło. Dopiero później sprawdza się rozstaw na charakterystyce wybranej konstrukcji podłogi przy założonych temperaturach wody.</p>

        <div class="rk-layout-answer">
          <div class="rk-layout-answer-main">
            <h3>Kolejność ma znaczenie</h3>
            <p><strong>Najpierw obliczenie obciążenia i powierzchni czynnej, później weryfikacja cieplna rozstawu, a na końcu rozrysowanie realnych pętli z dobiegami, dylatacjami i przejściami przez drzwi.</strong> Samo zmieszczenie rury na podłodze nie potwierdza jeszcze, że układ osiągnie wymaganą moc i będzie poprawny hydraulicznie.</p>
          </div>
          <div class="rk-layout-answer-side">
            <h3>10 czy 15 cm?</h3>
            <p>Jeżeli chcesz porównać wydajność tych dwóch wariantów przy identycznej temperaturze wody i tej samej podłodze, skorzystaj z osobnego <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">analizatora rozstawu 10 i 15 cm</a>.</p>
          </div>
        </div>

        <div class="rk-layout-formula" aria-label="Wzór na wymaganą moc jednostkową podłogi">
          <strong>q<sub>wym</sub> [W/m²] = Q<sub>pomieszczenia</sub> [W] ÷ A<sub>czynna</sub> [m²]</strong>
          <span>Pokój o stracie 1050 W i powierzchni czynnej 17,5 m² wymaga 60 W/m². Liczenie z całych 22 m² zaniżyłoby wynik do około 47,7 W/m².</span>
        </div>

        <div class="rk-layout-grid-3">
          <article class="rk-layout-card"><span class="rk-layout-card-number">Etap 01 • Ciepło</span><h3>Wyznacz obciążenie pokoju</h3><p>Potrzebna jest strata ciepła w watach dla konkretnego pomieszczenia. Średni wskaźnik dla całego budynku nie pokazuje różnic między łazienką, pokojem narożnym i wnętrzem bez ścian zewnętrznych.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">Etap 02 • Geometria</span><h3>Ustal pole dostępne dla rur</h3><p>Na rzucie trzeba zaznaczyć trwałą zabudowę, dylatacje, przejścia, przyłącza i fragmenty wyłączone. Dopiero z tego powstaje rzeczywista powierzchnia czynna.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">Etap 03 • Weryfikacja</span><h3>Sprawdź moc i hydraulikę</h3><p>Wybrany krok rur weryfikuje się dla temperatur wody, konstrukcji i oporu okładziny. Następnie liczy się długości, przepływy oraz straty ciśnienia każdej pętli.</p></article>
        </div>
      </section>

      <section class="rk-layout-section" id="rk-layout-room-rule">
        <span class="rk-layout-kicker">Pokój jest opisem funkcji, nie parametrem obliczeniowym</span>
        <h2>Dlaczego nazwa pomieszczenia nie wyznacza rozstawu rur?</h2>
        <p class="rk-layout-intro">Dwie łazienki mogą wymagać zupełnie innych rozwiązań. Jedna będzie miała dużą wolną podłogę, jedną ścianę zewnętrzną i małą stratę. Druga może być narożna, mieć wyższą temperaturę projektową, wannę, brodzik oraz zaledwie kilka metrów kwadratowych powierzchni czynnej.</p>

        <div class="rk-layout-grid-3">
          <article class="rk-layout-card"><span class="rk-layout-card-number">Łazienka</span><h3>Mała powierzchnia bywa ważniejsza niż metraż</h3><p>Gęstszy rozstaw często pomaga, ale nawet 10 cm nie tworzy brakującej powierzchni. Przy wysokim obciążeniu może być potrzebny dodatkowy emiter albo ograniczenie strat budynku.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">Salon</span><h3>Duże przeszklenie zmienia rozkład obciążenia</h3><p>Nie oznacza to automatycznie obowiązkowej strefy o stałej szerokości. Najpierw trzeba ocenić lokalną stratę i sprawdzić, czy pole podstawowe spełnia wymagania.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">Sypialnia</span><h3>Mniejsze obciążenie nie daje zgody na dowolne rozrzedzenie</h3><p>Rozstaw 20 cm może być możliwy w określonym systemie, ale wymaga kontroli mocy, równomierności temperatury i dopuszczalnego modułu mocowania rur.</p></article>
        </div>

        <div class="rk-layout-notice is-orange"><p><strong>Pompa ciepła również nie wyznacza rozstawu sama.</strong> Może premiować niską temperaturę zasilania, lecz decyzja nadal zależy od obciążenia, powierzchni czynnej i charakterystyki podłogi. Więcej na ten temat: <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">rozstaw rur ogrzewania podłogowego przy pompie ciepła</a>.</p></div>
      </section>

      <section class="rk-layout-section" id="rk-layout-data">
        <span class="rk-layout-kicker">Dane przed pierwszą kreską na rzucie</span>
        <h2>Co trzeba znać przed rozplanowaniem rur?</h2>
        <p class="rk-layout-intro">Rozstaw jest jednym z wyników projektu, a nie pierwszym założeniem. Do świadomego wyboru potrzebny jest zestaw danych cieplnych, geometrycznych i materiałowych.</p>

        <div class="rk-layout-grid-3">
          <article class="rk-layout-card"><span class="rk-layout-card-number">01 • Obciążenie</span><h3>Projektowa strata ciepła</h3><p>Wartość w watach dla każdego pokoju, wyznaczona z temperatur projektowych, przegród oraz wentylacji. Zobacz, czym jest <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne OZC</a>.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">02 • Pole grzewcze</span><h3>Powierzchnia czynna</h3><p>Powierzchnia rzeczywiście dostępna i zdolna do oddawania ciepła, po skoordynowaniu z trwałą zabudową oraz przebiegiem dylatacji.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">03 • Temperatury</span><h3>Zasilanie, powrót i wnętrze</h3><p>Porównanie rozstawów ma sens tylko przy tych samych parametrach. Sama temperatura zasilania nie opisuje średniej temperatury wody w pętli.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">04 • Konstrukcja</span><h3>Rura, jastrych i grubość warstw</h3><p>Średnica rury, przewodność materiału oraz grubość warstwy nad rurą wpływają na charakterystykę cieplną całej powierzchni.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">05 • Wykończenie</span><h3>Opór okładziny i podkładu</h3><p>Liczy się łączny deklarowany opór, a nie sama etykieta „panele” lub „drewno”. Czasami producent wykończenia podaje również niższy limit temperatury powierzchni.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">06 • Hydraulika</span><h3>Rozdzielacz, dobiegi i limit pętli</h3><p>Odległość od rozdzielacza zużywa część dopuszczalnej długości obwodu. Po rozrysowaniu trzeba jeszcze obliczyć przepływ i stratę ciśnienia.</p></article>
        </div>
      </section>

      <section class="rk-layout-section" id="rk-layout-active-area">
        <span class="rk-layout-kicker">Metry kwadratowe, które naprawdę pracują</span>
        <h2>Powierzchnia całkowita a powierzchnia czynna podłogówki</h2>
        <p class="rk-layout-intro">Najczęstszy błąd polega na podzieleniu straty ciepła przez cały metraż z projektu architektonicznego. Tymczasem część podłogi może pozostać bez rur albo przekazywać ciepło znacznie gorzej z powodu trwałej zabudowy.</p>

        <div class="rk-layout-grid-2">
          <article class="rk-layout-card">
            <span class="rk-layout-card-number">Najczęściej wyłączane</span>
            <h3>Zabudowa trwała i kolizje techniczne</h3>
            <h4>Przykłady do oznaczenia na rzeczywistym rzucie</h4>
            <ul>
              <li>zabudowa kuchenna planowana bez prześwitu,</li>
              <li>trwale obudowana wanna albo brodzik,</li>
              <li>murowane podstawy i elementy przytwierdzone do posadzki,</li>
              <li>miejsca wymagające wiercenia albo kotwienia,</li>
              <li>pola kolidujące z dylatacjami lub innymi instalacjami.</li>
            </ul>
          </article>
          <article class="rk-layout-card">
            <span class="rk-layout-card-number">Nie wyłączaj automatycznie</span>
            <h3>Meble ruchome i przyszłe zmiany aranżacji</h3>
            <h4>Elementy wymagające indywidualnej decyzji</h4>
            <p>Kanapa, stół, łóżko na nóżkach czy wolnostojąca szafa nie są tym samym co zabudowa na stałe. Projekt powinien rozróżniać elementy trwałe od wyposażenia, które może zmienić położenie.</p>
            <p>Szczegółowy przewodnik: <a href="https://projekt-ogrzewania.pl/gdzie-nie-ukladac-ogrzewania-podlogowego/">gdzie nie układać ogrzewania podłogowego</a>.</p>
          </article>
        </div>

        <div class="rk-layout-notice is-yellow"><p><strong>Powierzchnia czynna nie jest tylko liczbą do kalkulatora.</strong> Na wykonawczym rzucie trzeba znać lokalizację wyłączeń. Dwie kuchnie z taką samą powierzchnią zabudowy mogą wymagać zupełnie innego przebiegu pętli.</p></div>
      </section>

      <section class="rk-layout-section" id="rk-layout-planner-section">
        <span class="rk-layout-kicker">Geometria zamiast pozornego doboru „z nazwy pokoju”</span>
        <h2>Interaktywny planer powierzchni, stref i ilości rur</h2>
        <p class="rk-layout-intro">Wpisz dane jednego prostokątnego pomieszczenia. Planer pokaże powierzchnię czynną, orientacyjne zużycie rury, dobiegi i wstępny podział na obwody. Nie ogłasza wybranego rozstawu „właściwym”, ponieważ do tego potrzebna jest osobna weryfikacja cieplna konkretnego systemu.</p>

        <div class="rk-layout-tool" id="rk-layout-tool">
          <div class="rk-layout-tool-head">
            <div>
              <h3>Planer geometrii jednego pomieszczenia</h3>
              <p>Rzut jest poglądowy. Pola zabudowy są przedstawiane jako zastępcze prostokąty o wpisanej powierzchni, dlatego nie odwzorowują rzeczywistego projektu wnętrz.</p>
            </div>
            <button type="button" class="rk-layout-reset" id="rk-layout-reset">Przywróć dane przykładowe</button>
          </div>

          <div class="rk-layout-input-panel">
            <h3>Dane pomieszczenia i założenia geometryczne</h3>
            <p>Wartości można zmieniać w dowolnej kolejności. Wynik oraz oba rysunki aktualizują się automatycznie.</p>

            <div class="rk-layout-fields">
              <div class="rk-layout-field">
                <label for="rk-layout-length">Długość pomieszczenia [m]</label>
                <input type="number" id="rk-layout-length" min="1.5" max="20" step="0.1" value="5.5">
                <small>Wymiar poziomy na poglądowym rzucie.</small>
              </div>
              <div class="rk-layout-field">
                <label for="rk-layout-width">Szerokość pomieszczenia [m]</label>
                <input type="number" id="rk-layout-width" min="1.5" max="20" step="0.1" value="4">
                <small>Ściana po prawej stronie jest ścianą referencyjną strefy.</small>
              </div>
              <div class="rk-layout-field">
                <label for="rk-layout-load">Projektowa strata ciepła [W]</label>
                <input type="number" id="rk-layout-load" min="100" max="10000" step="10" value="1050">
                <small>Najlepiej z obliczeń dla tego pomieszczenia.</small>
              </div>
              <div class="rk-layout-field">
                <label for="rk-layout-base-spacing">Wybrany rozstaw pola głównego [cm]</label>
                <select id="rk-layout-base-spacing">
                  <option value="10">10 cm</option>
                  <option value="12.5">12,5 cm</option>
                  <option value="15" selected>15 cm</option>
                  <option value="20">20 cm</option>
                </select>
                <small>Wybór do analizy geometrii, nie rekomendacja cieplna.</small>
              </div>

              <div class="rk-layout-field">
                <label for="rk-layout-built-area">Trwała zabudowa bez rur [m²]</label>
                <input type="number" id="rk-layout-built-area" min="0" max="100" step="0.1" value="3.5">
                <small>Na przykład stała zabudowa kuchenna bez prześwitu.</small>
              </div>
              <div class="rk-layout-field">
                <label for="rk-layout-other-area">Pozostałe wyłączone pola [m²]</label>
                <input type="number" id="rk-layout-other-area" min="0" max="100" step="0.1" value="1">
                <small>Kolizje, stałe podstawy, fragmenty techniczne.</small>
              </div>
              <div class="rk-layout-field">
                <label for="rk-layout-manifold-distance">Odległość od rozdzielacza w jedną stronę [m]</label>
                <input type="number" id="rk-layout-manifold-distance" min="0" max="40" step="0.5" value="6">
                <small>Każda pętla ma zasilanie i powrót, więc dobiegi liczymy podwójnie.</small>
              </div>
              <div class="rk-layout-field">
                <label for="rk-layout-loop-limit">Przyjęta maksymalna długość pętli [m]</label>
                <input type="number" id="rk-layout-loop-limit" min="45" max="120" step="5" value="90">
                <small>Założenie projektowe do podziału, a nie uniwersalna granica prawna.</small>
              </div>

              <div class="rk-layout-field">
                <label for="rk-layout-edge-toggle">Opcjonalna strefa przy ścianie zewnętrznej</label>
                <div class="rk-layout-switch-wrap">
                  <input type="checkbox" id="rk-layout-edge-toggle">
                  <span>Uwzględnij osobną strefę</span>
                </div>
                <small>Włącz tylko wtedy, gdy lokalne obciążenie uzasadnia takie rozwiązanie.</small>
              </div>
              <div class="rk-layout-field">
                <label for="rk-layout-edge-width">Szerokość strefy [m]</label>
                <input type="number" id="rk-layout-edge-width" min="0.3" max="2" step="0.1" value="0.8" disabled>
                <small>Nie istnieje jedna obowiązkowa szerokość dla każdego przeszklenia.</small>
              </div>
              <div class="rk-layout-field">
                <label for="rk-layout-edge-length">Długość ściany objętej strefą [m]</label>
                <input type="number" id="rk-layout-edge-length" min="0.5" max="20" step="0.1" value="4" disabled>
                <small>Na rzucie strefa jest rysowana po prawej stronie.</small>
              </div>
              <div class="rk-layout-field">
                <label for="rk-layout-edge-spacing">Rozstaw w strefie [cm]</label>
                <select id="rk-layout-edge-spacing" disabled>
                  <option value="5">5 cm</option>
                  <option value="7.5">7,5 cm</option>
                  <option value="10" selected>10 cm</option>
                  <option value="12.5">12,5 cm</option>
                  <option value="15">15 cm</option>
                </select>
                <small>Także ten wariant wymaga sprawdzenia wydajności i temperatury powierzchni.</small>
              </div>
            </div>
          </div>

          <div class="rk-layout-live" aria-live="polite">
            <div class="rk-layout-summary">
              <div class="rk-layout-summary-card"><span>Powierzchnia całkowita</span><strong id="rk-layout-total-output">22,0 m²</strong></div>
              <div class="rk-layout-summary-card"><span>Powierzchnia czynna</span><strong id="rk-layout-active-output">17,5 m²</strong></div>
              <div class="rk-layout-summary-card"><span>Wymaganie pola czynnego</span><strong id="rk-layout-unit-load-output">60,0 W/m²</strong></div>
              <div class="rk-layout-summary-card"><span>Rura razem z dobiegami</span><strong id="rk-layout-pipe-output">—</strong></div>
              <div class="rk-layout-summary-card"><span>Wstępna liczba pętli</span><strong id="rk-layout-loop-output">—</strong></div>
              <div class="rk-layout-summary-card"><span>Średnia długość obwodu</span><strong id="rk-layout-average-output">—</strong></div>
            </div>
          </div>

          <div class="rk-layout-visual-grid">
            <div class="rk-layout-visual-card">
              <h3>Dynamiczny rzut poglądowy</h3>
              <p>Rysunek pokazuje relacje między polem czynnym, wyłączeniami, strefą i dobiegami. Nie jest schematem wykonawczym pętli.</p>
              <svg class="rk-layout-room-svg" id="rk-layout-room-svg" viewBox="0 0 720 430" role="img" aria-labelledby="rk-layout-room-title rk-layout-room-desc">
                <title id="rk-layout-room-title">Poglądowy rzut pomieszczenia z ogrzewaniem podłogowym</title>
                <desc id="rk-layout-room-desc">Schemat aktualizowany na podstawie wymiarów, powierzchni zabudowy, rozstawu oraz opcjonalnej strefy brzegowej.</desc>
                <g id="rk-layout-room-drawing"></g>
              </svg>
              <div class="rk-layout-legend" aria-label="Legenda rzutu">
                <span><i style="background:#25c7d8"></i>pole główne</span>
                <span><i style="background:#ff6a3d"></i>strefa opcjonalna</span>
                <span><i style="background:#6b7e8a"></i>zabudowa trwała</span>
                <span><i style="background:#d94b3d"></i>inne wyłączenia</span>
              </div>
            </div>

            <div class="rk-layout-visual-card">
              <h3>Zużycie rury przy 10, 15 i 20 cm</h3>
              <p>Porównanie zachowuje tę samą powierzchnię czynną, odległość od rozdzielacza i założony limit długości. Jeżeli włączysz strefę, pozostaje ona taka sama we wszystkich trzech wariantach.</p>
              <svg class="rk-layout-chart-svg" id="rk-layout-chart-svg" viewBox="0 0 720 430" role="img" aria-labelledby="rk-layout-chart-title rk-layout-chart-desc">
                <title id="rk-layout-chart-title">Porównanie orientacyjnego zużycia rury</title>
                <desc id="rk-layout-chart-desc">Wykres słupkowy długości rury wraz z liczbą pętli dla rozstawu 10, 15 i 20 centymetrów.</desc>
                <g id="rk-layout-chart-drawing"></g>
              </svg>
              <div class="rk-layout-legend" aria-label="Legenda wykresu">
                <span><i style="background:#078fbe"></i>rura w polu</span>
                <span><i style="background:#695ac9"></i>dobiegi</span>
                <span><i style="background:#ff6a3d"></i>wybrany wariant</span>
              </div>
            </div>
          </div>

          <div class="rk-layout-comparison" id="rk-layout-comparison" aria-label="Porównanie wariantów rozstawu">
            <article class="rk-layout-compare-card" id="rk-layout-compare-10">
              <div class="rk-layout-compare-head"><strong>Rozstaw 10 cm</strong><span id="rk-layout-selected-10"></span></div>
              <div class="rk-layout-compare-metrics">
                <div><span>Rura łącznie</span><b id="rk-layout-length-10">—</b></div>
                <div><span>Pętle</span><b id="rk-layout-loops-10">—</b></div>
                <div><span>Średnia pętla</span><b id="rk-layout-average-10">—</b></div>
                <div><span>Rura na m² pola</span><b id="rk-layout-factor-10">—</b></div>
              </div>
            </article>
            <article class="rk-layout-compare-card" id="rk-layout-compare-15">
              <div class="rk-layout-compare-head"><strong>Rozstaw 15 cm</strong><span id="rk-layout-selected-15"></span></div>
              <div class="rk-layout-compare-metrics">
                <div><span>Rura łącznie</span><b id="rk-layout-length-15">—</b></div>
                <div><span>Pętle</span><b id="rk-layout-loops-15">—</b></div>
                <div><span>Średnia pętla</span><b id="rk-layout-average-15">—</b></div>
                <div><span>Rura na m² pola</span><b id="rk-layout-factor-15">—</b></div>
              </div>
            </article>
            <article class="rk-layout-compare-card" id="rk-layout-compare-20">
              <div class="rk-layout-compare-head"><strong>Rozstaw 20 cm</strong><span id="rk-layout-selected-20"></span></div>
              <div class="rk-layout-compare-metrics">
                <div><span>Rura łącznie</span><b id="rk-layout-length-20">—</b></div>
                <div><span>Pętle</span><b id="rk-layout-loops-20">—</b></div>
                <div><span>Średnia pętla</span><b id="rk-layout-average-20">—</b></div>
                <div><span>Rura na m² pola</span><b id="rk-layout-factor-20">—</b></div>
              </div>
            </article>
          </div>

          <div class="rk-layout-diagnostics" aria-live="polite">
            <article class="rk-layout-diagnostic" id="rk-layout-diag-area"><span>Powierzchnia czynna</span><strong id="rk-layout-diag-area-title">—</strong><p id="rk-layout-diag-area-text">—</p></article>
            <article class="rk-layout-diagnostic" id="rk-layout-diag-loop"><span>Geometria pętli</span><strong id="rk-layout-diag-loop-title">—</strong><p id="rk-layout-diag-loop-text">—</p></article>
            <article class="rk-layout-diagnostic" id="rk-layout-diag-thermal"><span>Weryfikacja cieplna</span><strong id="rk-layout-diag-thermal-title">—</strong><p id="rk-layout-diag-thermal-text">—</p></article>
          </div>

          <p class="rk-layout-tool-disclaimer">Założenie długości geometrycznej obejmuje około 3% dodatku na łuki w polu. Długość dobiegów jest dodawana osobno do każdej wstępnie wyznaczonej pętli. Narzędzie nie uwzględnia kształtu meandra lub ślimaka, przejść przez drzwi, dylatacji, promieni gięcia, rzeczywistych oporów ani charakterystyki cieplnej wybranego systemu.</p>
        </div>
      </section>

      <section class="rk-layout-cta" aria-label="Indywidualny projekt po wyniku planera">
        <span class="rk-layout-kicker" style="color:#7af0ff">Od orientacyjnej geometrii do dokumentacji wykonawczej</span>
        <h2>Planer policzył rury, ale nie zna rzeczywistego rzutu Twojego domu</h2>
        <p>Nie widzi przejść przez drzwi, dylatacji, promieni gięcia, dokładnej zabudowy, lokalnych strat przy przeszkleniach ani oporów poszczególnych pętli. Jeżeli chcesz otrzymać rozstaw i każdy obwód naniesiony na rzut wraz z długościami, przepływami oraz nastawami rozdzielacza, potrzebny jest indywidualny projekt.</p>
        <a class="rk-layout-cta-button rk-layout-sales-cta" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt z rozstawem rur naniesionym na rzut</a>
        <small class="rk-layout-disclosure">Odnośnik prowadzi do strony sprzedażowej Projekt-Ogrzewania.pl — serwisu należącego do autora artykułu.</small>
      </section>

      <section class="rk-layout-section" id="rk-layout-read-result">
        <span class="rk-layout-kicker">Co wynik mówi, a czego nie potwierdza</span>
        <h2>Jak odczytać wynik planera podłogówki?</h2>
        <p class="rk-layout-intro">Narzędzie odpowiada na pytania geometryczne i materiałowe. Nie zastępuje obliczenia wydajności powierzchni grzewczej.</p>

        <div class="rk-layout-grid-3">
          <article class="rk-layout-card"><span class="rk-layout-card-number">Wynik 01</span><h3>Wymagana moc jednostkowa</h3><p>Wartość powstaje z podzielenia straty ciepła przez powierzchnię czynną. Pokazuje skalę zadania, ale sama nie wybiera rozstawu bez danych o temperaturach i konstrukcji podłogi.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">Wynik 02</span><h3>Orientacyjna długość rury</h3><p>Planer liczy geometrię pola, niewielki dodatek na łuki i podwójny dobieg każdej pętli. Rzeczywista długość powstaje dopiero po narysowaniu przebiegu na rzucie.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">Wynik 03</span><h3>Wstępna liczba obwodów</h3><p>To najmniejsza liczba potrzebna do zmieszczenia oszacowanej rury w przyjętym limicie. Nie potwierdza jeszcze właściwego przepływu ani dopuszczalnej straty ciśnienia.</p></article>
        </div>

        <div class="rk-layout-notice"><p><strong>Dlaczego planer nie daje zielonego komunikatu „rozstaw poprawny”?</strong> Ponieważ taki werdykt wymaga charakterystyki systemu dla konkretnego rozstawu, oporu okładziny, średniej temperatury wody, temperatury pomieszczenia oraz limitu temperatury powierzchni. To celowe zabezpieczenie przed pozorną dokładnością.</p></div>
      </section>

      <section class="rk-layout-section" id="rk-layout-zones">
        <span class="rk-layout-kicker">Jedno pomieszczenie nie zawsze oznacza jeden krok rur</span>
        <h2>Czy w jednym pomieszczeniu można stosować różne rozstawy?</h2>
        <p class="rk-layout-intro">Tak, jeżeli wynika to z lokalnego obciążenia i da się poprawnie rozrysować. Przykładem może być wydzielone pole przy dużym przeszkleniu. Nie należy jednak zagęszczać fragmentu tylko dlatego, że „tak się zawsze robi”.</p>

        <div class="rk-layout-grid-2">
          <article class="rk-layout-card">
            <span class="rk-layout-card-number">Pole podstawowe</span>
            <h3>Rozstaw obsługujący główną część pomieszczenia</h3>
            <p>Powinien pokrywać obciążenie tej strefy przy założonych temperaturach. Musi również odpowiadać modułowi mocowania i minimalnym promieniom gięcia rury.</p>
          </article>
          <article class="rk-layout-card">
            <span class="rk-layout-card-number">Strefa lokalna</span>
            <h3>Zagęszczenie tylko wtedy, gdy jest uzasadnione</h3>
            <p>Jej szerokość, długość i rozstaw powinny wynikać z rozkładu strat oraz możliwości wykonawczych. Trzeba sprawdzić temperaturę powierzchni i sposób włączenia strefy w układ pętli.</p>
          </article>
        </div>

        <div class="rk-layout-notice is-green"><p><strong>Strefa brzegowa jest opcją projektową, a nie obowiązkowym pasem szerokości 1 m.</strong> Może być zbędna w jednym budynku i potrzebna w innym. Jeżeli występuje, powinna być jednoznacznie pokazana na rzucie wykonawczym.</p></div>
      </section>

      <section class="rk-layout-section" id="rk-layout-rooms">
        <span class="rk-layout-kicker">Przykłady decyzji zamiast gotowych recept</span>
        <h2>Rozstaw rur w łazience, kuchni, salonie i sypialni</h2>
        <p class="rk-layout-intro">Poniższe scenariusze pokazują, dlaczego funkcja pomieszczenia jest dopiero początkiem analizy. Nie są tabelą obowiązkowych rozstawów.</p>

        <div class="rk-layout-table-wrap">
          <table class="rk-layout-table">
            <thead><tr><th>Pomieszczenie</th><th>Co zwykle zmienia wynik</th><th>Co sprawdzić przed wyborem</th><th>Typowy błąd</th></tr></thead>
            <tbody>
              <tr><td data-label="Pomieszczenie"><strong>Łazienka</strong></td><td data-label="Co zmienia wynik">Wyższa temperatura wewnętrzna, małe pole czynne, wanna lub brodzik.</td><td data-label="Co sprawdzić">Moc z wolnej podłogi, limit powierzchni i potrzebę dodatkowego emitera.</td><td data-label="Typowy błąd">Założenie, że 10 cm zawsze wystarczy.</td></tr>
              <tr><td data-label="Pomieszczenie"><strong>Kuchnia</strong></td><td data-label="Co zmienia wynik">Układ stałej zabudowy, wyspa, przyszła aranżacja i przejścia do innych stref.</td><td data-label="Co sprawdzić">Rzeczywiste pola bez rur oraz ciągłość przebiegu pętli.</td><td data-label="Typowy błąd">Odjęcie całej kuchni albo ułożenie rur pod każdą zabudową.</td></tr>
              <tr><td data-label="Pomieszczenie"><strong>Salon</strong></td><td data-label="Co zmienia wynik">Duże przeszklenia, ściany zewnętrzne, duża powierzchnia i kilka obwodów.</td><td data-label="Co sprawdzić">Podział na podobne pola, dobiegi, dylatacje i lokalne obciążenie.</td><td data-label="Typowy błąd">Jedna bardzo długa pętla albo automatyczna strefa 1 m.</td></tr>
              <tr><td data-label="Pomieszczenie"><strong>Sypialnia</strong></td><td data-label="Co zmienia wynik">Mniejsza temperatura projektowa, okładzina o większym oporze i meble.</td><td data-label="Co sprawdzić">Charakterystykę podłogi, równomierność oraz docelową aranżację.</td><td data-label="Typowy błąd">Rozstaw 20 cm przyjęty bez żadnej weryfikacji.</td></tr>
            </tbody>
          </table>
        </div>
      </section>

      <section class="rk-layout-section" id="rk-layout-glazing">
        <span class="rk-layout-kicker">Lokalne obciążenie przy elewacji</span>
        <h2>Jak rozkładać podłogówkę przy dużych oknach i drzwiach HS?</h2>
        <p class="rk-layout-intro">Duże przeszklenie może zwiększać lokalną stratę ciepła i wpływać na temperaturę odczuwalną w jego pobliżu. Nie oznacza jednak, że przy każdym oknie należy bez obliczeń wykonać pas 1 m w rozstawie 7,5 albo 10 cm.</p>

        <div class="rk-layout-grid-3">
          <article class="rk-layout-card"><span class="rk-layout-card-number">Krok 01</span><h3>Sprawdź parametry przeszklenia</h3><p>Liczą się powierzchnia, współczynnik przenikania, temperatura zewnętrzna i udział okna w obciążeniu całego pokoju.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">Krok 02</span><h3>Wyznacz lokalne pole</h3><p>Jeżeli zagęszczenie jest potrzebne, jego szerokość oraz długość powinny być pokazane na rzucie i skoordynowane z pętlami.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">Krok 03</span><h3>Sprawdź granice powierzchni</h3><p>Gęstsza rura nie daje prawa do dowolnego podnoszenia temperatury. Obowiązują założenia komfortu oraz ograniczenia użytych materiałów.</p></article>
        </div>

        <div class="rk-layout-notice is-orange"><p><strong>Zagęszczenie rur nie gwarantuje braku kondensacji na szybie.</strong> Kondensacja zależy od temperatury powierzchni przeszklenia, wilgotności powietrza, temperatury punktu rosy, jakości montażu i wentylacji.</p></div>
      </section>

      <section class="rk-layout-section" id="rk-layout-floor">
        <span class="rk-layout-kicker">Opór cieplny i konstrukcja powierzchni</span>
        <h2>Jak okładzina i jastrych wpływają na rozstaw rur?</h2>
        <p class="rk-layout-intro">Rozstaw nie działa w oderwaniu od warstw nad rurą. Ta sama temperatura wody i ten sam krok mogą dać inną wydajność pod płytkami, panelami albo drewnem. Znaczenie ma łączny opór okładziny oraz parametry całej konstrukcji.</p>

        <div class="rk-layout-grid-3">
          <article class="rk-layout-card"><span class="rk-layout-card-number">Mały opór</span><h3>Płytki i kamień</h3><p>Zwykle ułatwiają przekazywanie ciepła, lecz nadal trzeba sprawdzić wymaganą moc, temperaturę powierzchni oraz dopuszczenia kleju i okładziny.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">Opór pośredni</span><h3>Panele i winyl</h3><p>Do obliczeń potrzebna jest suma oporu panelu, podkładu i pozostałych warstw wykończeniowych. Dwa produkty o podobnej nazwie mogą mieć inne parametry.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">Większy opór</span><h3>Drewno i wykładziny</h3><p>Mogą ograniczyć dostępną moc. Samo przejście z 15 na 10 cm nie zawsze skompensuje zbyt duży opór albo niski limit temperatury powierzchni.</p></article>
        </div>

        <h3 style="margin-top:32px">Cement, anhydryt i grubość warstwy nad rurą</h3>
        <h4>Dane ważniejsze niż sama nazwa materiału</h4>
        <p>Nie przypisujemy wszystkim jastrychom cementowym jednej przewodności, a wszystkim anhydrytowym drugiej. Do dokładnego obliczenia potrzebna jest deklarowana przewodność zastosowanego materiału, jego grubość, położenie rury oraz komplet warstw. Sam napis „anhydryt” nie pozwala bezpiecznie zwiększyć rozstawu o z góry określoną wartość.</p>
        <p>Więcej: <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">jak okładzina wpływa na wydajność podłogówki</a> oraz <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewka na ogrzewanie podłogowe</a>.</p>
      </section>

      <section class="rk-layout-section" id="rk-layout-spacing-options">
        <span class="rk-layout-kicker">Możliwe moduły, nie uniwersalne rekomendacje</span>
        <h2>Rozstaw rur 5, 10, 15 i 20 cm — kiedy może się pojawić?</h2>
        <p class="rk-layout-intro">Każdy rozstaw trzeba odczytać z charakterystyki konkretnego systemu i sprawdzić w geometrii pomieszczenia. Tabela opisuje rolę wariantów, ale nie zastępuje doboru.</p>

        <div class="rk-layout-table-wrap">
          <table class="rk-layout-table">
            <thead><tr><th>Rozstaw</th><th>Rola w projekcie</th><th>Co szczególnie sprawdzić</th><th>Orientacyjna geometria pola</th></tr></thead>
            <tbody>
              <tr><td data-label="Rozstaw"><strong>5 cm</strong></td><td data-label="Rola w projekcie">Rozwiązanie szczególne albo moduł wybranych systemów. Nie jest standardem do całego domu.</td><td data-label="Co sprawdzić">Promień gięcia, sposób mocowania, ilość rury, podział na obwody i uzasadnienie cieplne.</td><td data-label="Geometria pola">około 20 m/m² przed łukami i dobiegami</td></tr>
              <tr><td data-label="Rozstaw"><strong>10 cm</strong></td><td data-label="Rola w projekcie">Może zwiększać wydajność oraz równomierność przy tych samych temperaturach wody.</td><td data-label="Co sprawdzić">Czy dodatkowa moc jest potrzebna oraz jak wzrost ilości rury wpływa na liczbę pętli.</td><td data-label="Geometria pola">około 10 m/m² przed łukami i dobiegami</td></tr>
              <tr><td data-label="Rozstaw"><strong>15 cm</strong></td><td data-label="Rola w projekcie">Częsty wariant w systemach mieszkaniowych, ale nie automatyczna odpowiedź dla każdego pokoju.</td><td data-label="Co sprawdzić">Moc, opór okładziny, temperaturę powierzchni i równomierność.</td><td data-label="Geometria pola">około 6,67 m/m² przed łukami i dobiegami</td></tr>
              <tr><td data-label="Rozstaw"><strong>20 cm</strong></td><td data-label="Rola w projekcie">Możliwy przy odpowiednio małym obciążeniu i systemie dopuszczającym taki moduł.</td><td data-label="Co sprawdzić">Dostępną moc, różnice temperatury powierzchni i wymagany parametr wody.</td><td data-label="Geometria pola">około 5 m/m² przed łukami i dobiegami</td></tr>
            </tbody>
          </table>
        </div>

        <div class="rk-layout-notice"><p><strong>Długości w tabeli wynikają wyłącznie z geometrii rozstawu.</strong> Realne zużycie zwiększają łuki, kształt pomieszczenia, strefy o innym kroku i dobiegi każdej pętli. Szczegółowe obliczenia znajdziesz w artykule <a href="https://projekt-ogrzewania.pl/ile-rury-na-m%c2%b2-ogrzewania-podlogowego/">ile rury na m² ogrzewania podłogowego</a>.</p></div>
      </section>

      <section class="rk-layout-section" id="rk-layout-loops">
        <span class="rk-layout-kicker">Rozstaw zmienia ilość materiału, nie prawa hydrauliki</span>
        <h2>Rozstaw rur a długość i liczba pętli</h2>
        <p class="rk-layout-intro">Przy gęstszym rozstawie na tę samą powierzchnię przypada więcej rury. Zwykle oznacza to mniejsze pole obsługiwane przez jeden obwód albo większą liczbę pętli. Ostatecznego podziału nie można jednak wykonać wyłącznie przez podzielenie metrów rury przez jedną stałą granicę.</p>

        <div class="rk-layout-grid-3">
          <article class="rk-layout-card"><span class="rk-layout-card-number">Długość</span><h3>Dolicz dobiegi każdej pętli</h3><p>Jeżeli rozdzielacz znajduje się 6 m od pomieszczenia, jeden obwód zużywa około 12 m na dojście i powrót. Trzy obwody potrzebują już około 36 m dobiegów.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">Przepływ</span><h3>Każda pętla obsługuje własną moc</h3><p>Przepływ powinien wynikać z mocy przypisanej do obwodu i projektowej różnicy temperatur, a nie z ustawienia identycznej wartości na wszystkich rotametrach.</p></article>
          <article class="rk-layout-card"><span class="rk-layout-card-number">Opór</span><h3>Najdłuższa pętla nie zawsze jest krytyczna</h3><p>Strata ciśnienia zależy również od przepływu, średnicy wewnętrznej, medium, temperatury oraz elementów dodatkowych. Trzeba sprawdzić cały obwód.</p></article>
        </div>

        <h3 style="margin-top:32px">Czy maksymalna pętla zawsze ma 100 m?</h3>
        <h4>Długość jest tylko jednym z parametrów obwodu</h4>
        <p>Nie jest to jedna granica odpowiednia dla każdej rury, każdego przepływu i każdego projektu. Dla rury 16 × 2 mm często przyjmuje się krótszy limit projektowy, aby zachować rozsądną rezerwę hydrauliczną, lecz jego wartość należy zweryfikować obliczeniami. Planer pozwala wpisać własne założenie zamiast narzucać jedną liczbę.</p>
        <p>Powiązane opracowania: <a href="https://projekt-ogrzewania.pl/ile-metrow-podlogowki-na-jednej-petli/">ile metrów podłogówki na jednej pętli</a>, <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">maksymalna długość pętli</a> i <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">objawy zbyt długiej pętli</a>.</p>

        <div class="rk-layout-notice is-yellow"><p><strong>Gęstszy rozstaw sam nie powoduje przepływu laminarnego.</strong> Charakter przepływu zależy od strumienia w konkretnej pętli, średnicy wewnętrznej i właściwości medium. Przepływ turbulentny nie jest prostym warunkiem zaliczenia lub odrzucenia podłogówki.</p></div>
      </section>

      <section class="rk-layout-section" id="rk-layout-systems">
        <span class="rk-layout-kicker">Ta sama liczba centymetrów, inna konstrukcja</span>
        <h2>Rozstaw rur w systemie mokrym i suchym</h2>
        <p class="rk-layout-intro">System mokry z rurą zatopioną w warstwie rozprowadzającej ciepło i lekki system suchy nie mają automatycznie tej samej charakterystyki. W systemach suchych rozstaw może być dodatkowo ograniczony przez fabryczny moduł płyt lub profili.</p>

        <div class="rk-layout-grid-2">
          <article class="rk-layout-card">
            <span class="rk-layout-card-number">System mokry</span>
            <h3>Rura współpracuje z jastrychem</h3>
            <p>Ważne są przewodność, grubość, otulenie rury, sposób mocowania i opór wykończenia. Do obliczeń należy przyjąć charakterystykę odpowiadającą rzeczywistej konstrukcji.</p>
          </article>
          <article class="rk-layout-card">
            <span class="rk-layout-card-number">System suchy</span>
            <h3>Moduł płyty może narzucić dostępne warianty</h3>
            <p>Nie wolno przenosić wyników z ciężkiego jastrychu na lekki system bez sprawdzenia jego danych. Zobacz przewodnik: <a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/">czym jest suchy system ogrzewania podłogowego</a>.</p>
          </article>
        </div>
      </section>

      <section class="rk-layout-section" id="rk-layout-errors">
        <span class="rk-layout-kicker">Najczęstsze skróty myślowe na budowie</span>
        <h2>Błędy przy planowaniu gęstości rur podłogówki</h2>
        <div class="rk-layout-errors">
          <article class="rk-layout-error"><b>Błąd 01</b><p><strong>„Pompa ciepła oznacza 10 cm w całym domu”.</strong> Źródło wpływa na opłacalny poziom temperatury, ale nie zastępuje obliczeń podłogi.</p></article>
          <article class="rk-layout-error"><b>Błąd 02</b><p><strong>Liczenie mocy z całego metrażu pokoju.</strong> Stała zabudowa i wyłączenia mogą istotnie zwiększyć wymaganie przypadające na powierzchnię czynną.</p></article>
          <article class="rk-layout-error"><b>Błąd 03</b><p><strong>Jedna recepta dla wszystkich łazienek.</strong> Wyższa temperatura i małe pole czynne mogą sprawić, że nawet gęsty rozstaw nie pokryje obciążenia.</p></article>
          <article class="rk-layout-error"><b>Błąd 04</b><p><strong>Obowiązkowa strefa 1 m przy każdym oknie.</strong> Strefa, jej szerokość i rozstaw wymagają uzasadnienia lokalnym obciążeniem.</p></article>
          <article class="rk-layout-error"><b>Błąd 05</b><p><strong>Pomijanie dobiegów.</strong> Przy kilku obwodach droga z rozdzielacza i z powrotem może dodać dziesiątki metrów rury.</p></article>
          <article class="rk-layout-error"><b>Błąd 06</b><p><strong>Podział pętli tylko z powierzchni.</strong> Potrzebne są długości, przepływy, opory oraz realna geometria przejść i dylatacji.</p></article>
          <article class="rk-layout-error"><b>Błąd 07</b><p><strong>Jedna moc przypisana do rozstawu.</strong> Bez temperatur wody, konstrukcji i oporu okładziny wartość W/m² jest niepełna.</p></article>
          <article class="rk-layout-error"><b>Błąd 08</b><p><strong>Zmiana rozstawu już podczas montażu.</strong> Modyfikuje ilość rury, liczbę obwodów, moc, przepływy i nastawy.</p></article>
          <article class="rk-layout-error"><b>Błąd 09</b><p><strong>Zagęszczanie jako lekarstwo na duże straty.</strong> Rozstaw nie zastąpi brakującej izolacji ani dodatkowego emitera.</p></article>
          <article class="rk-layout-error"><b>Błąd 10</b><p><strong>Traktowanie poglądowego rysunku jako projektu.</strong> Wykonawczy układ musi być naniesiony na rzeczywisty rzut budynku.</p></article>
        </div>
      </section>

      <section class="rk-layout-section" id="rk-layout-howto">
        <span class="rk-layout-kicker">Procedura od bilansu do nastaw rozdzielacza</span>
        <h2>Jak zaplanować gęstość rur krok po kroku?</h2>
        <div class="rk-layout-steps">
          <article class="rk-layout-step"><div><h3>Oblicz projektową stratę ciepła każdego pomieszczenia</h3><p>Nie zastępuj jej średnim wskaźnikiem dla całego budynku. Pomieszczenia narożne, łazienki i pokoje z przeszkleniami mogą mieć inne obciążenie jednostkowe.</p></div></article>
          <article class="rk-layout-step"><div><h3>Ustal temperatury projektowe i konstrukcję podłogi</h3><p>Zbierz temperaturę zasilania, powrotu i wnętrza, średnicę rury, warstwy podłogi, dane jastrychu oraz łączny opór wykończenia.</p></div></article>
          <article class="rk-layout-step"><div><h3>Nanieś trwałą zabudowę i pola bez rur</h3><p>Skoordynuj rzut instalacji z projektem wnętrz, elementami wymagającymi kotwienia, instalacjami oraz dylatacjami.</p></div></article>
          <article class="rk-layout-step"><div><h3>Wyznacz powierzchnię czynną i wymaganie W/m²</h3><p>Podziel stratę ciepła przez pole, które rzeczywiście będzie oddawało ciepło do pomieszczenia.</p></div></article>
          <article class="rk-layout-step"><div><h3>Porównaj możliwe rozstawy na charakterystyce systemu</h3><p>Sprawdź moc oraz temperaturę powierzchni przy identycznych warunkach. Odrzuć warianty niewystarczające i te przekraczające ograniczenia.</p></div></article>
          <article class="rk-layout-step"><div><h3>Wyznacz ewentualne strefy lokalne</h3><p>Jeżeli przy przeszkleniu występuje większe obciążenie, ustal zakres strefy i jej rozstaw zamiast przyjmować uniwersalny pas.</p></div></article>
          <article class="rk-layout-step"><div><h3>Rozrysuj pętle z dobiegami i przejściami</h3><p>Uwzględnij rzeczywiste promienie gięcia, dylatacje, kolejność układania i drogę każdej pętli od rozdzielacza.</p></div></article>
          <article class="rk-layout-step"><div><h3>Oblicz przepływy i straty ciśnienia</h3><p>Przypisz moc do obwodów, wyznacz przepływy i skontroluj pętlę krytyczną wraz z rozdzielaczem, armaturą oraz magistralą.</p></div></article>
          <article class="rk-layout-step"><div><h3>Przekaż wykonawcy rzut i tabelę nastaw</h3><p>Dokumentacja powinna jednoznacznie podawać rozstawy, strefy, długości, numery pętli, przepływy i wartości regulacyjne.</p></div></article>
        </div>
        <p style="margin-top:24px">Zobacz również: <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">jak zaplanować rozmieszczenie pętli grzewczych</a> oraz <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacja brzegowa i dylatacje</a>.</p>
      </section>

      <section class="rk-layout-section" id="rk-layout-checklist">
        <span class="rk-layout-kicker">Kontrola przed zamówieniem rury</span>
        <h2>Checklista przed ułożeniem ogrzewania podłogowego</h2>
        <div class="rk-layout-checklist">
          <div class="rk-layout-checkitem">Strata ciepła policzona osobno dla każdego pomieszczenia</div>
          <div class="rk-layout-checkitem">Znane temperatury zasilania, powrotu i wnętrza</div>
          <div class="rk-layout-checkitem">Określona rzeczywista konstrukcja systemu podłogowego</div>
          <div class="rk-layout-checkitem">Zebrany łączny opór cieplny okładziny i podkładu</div>
          <div class="rk-layout-checkitem">Na rzucie oznaczona trwała zabudowa i pola techniczne</div>
          <div class="rk-layout-checkitem">Wyznaczona powierzchnia czynna każdego pokoju</div>
          <div class="rk-layout-checkitem">Rozstaw zweryfikowany pod względem mocy i temperatury powierzchni</div>
          <div class="rk-layout-checkitem">Strefy lokalne mają obliczone uzasadnienie i wymiary</div>
          <div class="rk-layout-checkitem">Doliczone zasilanie i powrót każdej pętli</div>
          <div class="rk-layout-checkitem">Sprawdzone długości, przepływy oraz straty ciśnienia</div>
          <div class="rk-layout-checkitem">Przebiegi skoordynowane z dylatacjami i drzwiami</div>
          <div class="rk-layout-checkitem">Instalator otrzymał rzut, opis obwodów i tabelę nastaw</div>
        </div>
      </section>

      <section class="rk-layout-section" id="rk-layout-faq">
        <span class="rk-layout-kicker">Najczęściej zadawane pytania</span>
        <h2>FAQ: jak gęsto rozkładać podłogówkę?</h2>
        <div class="rk-layout-faq">
          <details><summary>Co ile centymetrów układać rury ogrzewania podłogowego?</summary><div class="rk-layout-faq-answer"><p>Nie ma jednej odległości właściwej dla każdego pomieszczenia. Najpierw wyznacza się wymaganą moc z powierzchni czynnej, a następnie sprawdza 5, 10, 15, 20 cm lub inny moduł na charakterystyce konkretnego systemu przy założonych temperaturach wody i oporze podłogi.</p></div></details>
          <details><summary>Czy rozstaw 15 cm wystarczy w całym domu?</summary><div class="rk-layout-faq-answer"><p>Może być wystarczający w części lub nawet wszystkich pomieszczeniach budynku o małych stratach, ale nie wolno zakładać tego bez sprawdzenia. Łazienka, mała powierzchnia czynna, duże przeszklenie albo okładzina o większym oporze mogą zmienić wynik.</p></div></details>
          <details><summary>Czy przy pompie ciepła trzeba układać rury co 10 cm?</summary><div class="rk-layout-faq-answer"><p>Nie zawsze. Gęstszy rozstaw może umożliwić pracę przy niższej temperaturze wody, ale potrzebę jego zastosowania trzeba potwierdzić obciążeniem i charakterystyką podłogi. Źródło ciepła samo nie wyznacza kroku rur.</p></div></details>
          <details><summary>Jaki rozstaw rur zastosować w łazience?</summary><div class="rk-layout-faq-answer"><p>Łazienka często ma wyższą temperaturę projektową i mniejszą powierzchnię czynną, dlatego może wymagać gęstszego ułożenia. Nie jest to jednak automatyczna reguła 10 cm. Gdy wolnej podłogi jest zbyt mało, potrzebny może być dodatkowy emiter.</p></div></details>
          <details><summary>Czy w salonie wystarczy rozstaw 15 cm?</summary><div class="rk-layout-faq-answer"><p>Może wystarczyć, jeżeli przy założonych temperaturach i konstrukcji zapewnia wymaganą moc bez przekroczenia limitu temperatury powierzchni. Trzeba uwzględnić przeszklenia, opór okładziny, powierzchnię czynną i podział dużego salonu na pętle.</p></div></details>
          <details><summary>Czy przy oknie HS zawsze trzeba zrobić strefę brzegową?</summary><div class="rk-layout-faq-answer"><p>Nie. Zastosowanie strefy powinno wynikać z lokalnego obciążenia cieplnego. Jeżeli jest potrzebna, projekt określa jej szerokość, długość, rozstaw, temperaturę powierzchni i sposób włączenia w układ obwodów.</p></div></details>
          <details><summary>Czy można ułożyć dwa różne rozstawy w jednej pętli?</summary><div class="rk-layout-faq-answer"><p>Można rozrysować pętlę przechodzącą przez pola o różnym rozstawie, jeśli geometria, moc oraz hydraulika zostały obliczone. Należy jednoznacznie pokazać granice stref i zachować wykonalny przebieg rury.</p></div></details>
          <details><summary>Ile rury potrzeba na 1 m² przy 10, 15 i 20 cm?</summary><div class="rk-layout-faq-answer"><p>Geometria pola daje około 10 m/m² przy 10 cm, 6,67 m/m² przy 15 cm i 5 m/m² przy 20 cm. Osobno trzeba uwzględnić łuki, kształt pomieszczenia, strefy o innym rozstawie oraz zasilanie i powrót każdej pętli.</p></div></details>
          <details><summary>Czy pod stałą zabudową układa się podłogówkę?</summary><div class="rk-layout-faq-answer"><p>Decyzję trzeba skoordynować z projektem wnętrz i wymaganiami technicznymi. Trwale zamknięta zabudowa bez prześwitu, elementy wymagające kotwienia i niektóre urządzenia mogą uzasadniać wyłączenie pola. Nie należy natomiast automatycznie usuwać ogrzewania spod wszystkich mebli ruchomych.</p></div></details>
          <details><summary>Czy gęstszy rozstaw powoduje przepływ laminarny?</summary><div class="rk-layout-faq-answer"><p>Nie bezpośrednio. Charakter przepływu wynika z przepływu w konkretnej pętli, średnicy wewnętrznej oraz właściwości medium. Gęstszy rozstaw zwiększa ilość rury i może zmienić podział na obwody, lecz sam nie wyznacza liczby Reynoldsa.</p></div></details>
          <details><summary>Czy jedna pętla rury 16 mm może mieć zawsze 100 m?</summary><div class="rk-layout-faq-answer"><p>Nie należy traktować 100 m jako uniwersalnego limitu. Dopuszczalna długość zależy od wymaganej mocy i przepływu, średnicy wewnętrznej, medium, dopuszczalnej straty ciśnienia oraz dostępnego sprężu. Projekt może przyjąć krótszy limit roboczy.</p></div></details>
          <details><summary>Czy planer wyznacza prawidłowy rozstaw rur?</summary><div class="rk-layout-faq-answer"><p>Planer wyznacza powierzchnię czynną, orientacyjną ilość rury, dobiegi i wstępną liczbę pętli dla rozstawu wybranego przez użytkownika. Poprawność cieplną trzeba osobno potwierdzić dla konkretnej konstrukcji, temperatur wody i oporu okładziny.</p></div></details>
        </div>
      </section>

      <section class="rk-layout-section" id="rk-layout-sources">
        <span class="rk-layout-kicker">Metodyka i oficjalne dokumenty</span>
        <h2>Na czym oparto opracowanie?</h2>
        <div class="rk-layout-source-box">
          <p>Artykuł rozdziela projektową stratę ciepła pomieszczenia, wydajność powierzchni grzewczej, jej wymiarowanie oraz wymagania dotyczące wykonania. Metodykę określania wydajności opisuje <a href="https://www.iso.org/standard/74683.html" target="_blank" rel="noopener nofollow">ISO 11855-2:2021</a>, zasady wymiarowania <a href="https://www.iso.org/standard/74684.html" target="_blank" rel="noopener nofollow">ISO 11855-3:2021</a>, a wymagania instalacyjne dla systemów wbudowanych <a href="https://www.iso.org/standard/74685.html" target="_blank" rel="noopener nofollow">ISO 11855-5:2021</a>.</p>
          <p>Planer jest modelem geometrycznym. Nie zastępuje charakterystyki cieplnej konkretnego systemu, obliczeń hydraulicznych ani dokumentacji wykonawczej. Linki zewnętrzne prowadzą wyłącznie do oficjalnego serwisu organizacji normalizacyjnej.</p>
        </div>
        <div class="rk-layout-update">Ostatnia aktualizacja merytoryczna: 30 sierpnia 2026 r.</div>
      </section>
    </main>

    <section class="rk-layout-author" id="rk-layout-author" aria-label="Autor opracowania">
      <input type="radio" name="rk-layout-author-tabs" id="rk-layout-author-about" checked>
      <input type="radio" name="rk-layout-author-tabs" id="rk-layout-author-exp">
      <input type="radio" name="rk-layout-author-tabs" id="rk-layout-author-sites">

      <header class="rk-layout-author-head">
        <div><span class="rk-layout-kicker">Autor opracowania</span><h2>Robert Kucharski</h2><p>Projektant instalacji sanitarnych • specjalista HVAC i ogrzewania podłogowego</p></div>
        <span class="rk-layout-author-mark">ROZSTAW RUR • GEOMETRIA • HYDRAULIKA</span>
      </header>

      <div class="rk-layout-author-layout">
        <aside class="rk-layout-author-side">
          <div class="rk-layout-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant ogrzewania podłogowego" width="600" height="600" loading="lazy" decoding="async"></div>
          <div class="rk-layout-author-name">Robert Kucharski</div>
          <div class="rk-layout-author-role">Projektant instalacji sanitarnych<br>Specjalista HVAC i ogrzewania podłogowego</div>
          <div class="rk-layout-author-social-label">Znajdziesz mnie również:</div>
          <div class="rk-layout-author-social" aria-label="Profile Roberta Kucharskiego w mediach społecznościowych">
            <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener nofollow me" aria-label="Robert Kucharski na LinkedIn" title="LinkedIn"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5.2 7.7H1.6V22h3.6V7.7ZM3.4 2A2.1 2.1 0 1 0 3.4 6.2 2.1 2.1 0 0 0 3.4 2ZM22.4 13.8c0-4.3-2.3-6.3-5.4-6.3a4.7 4.7 0 0 0-4.2 2.3V7.7H9.2V22h3.6v-7.1c0-1.9.4-3.7 2.7-3.7 2.3 0 2.3 2.1 2.3 3.8v7h3.6l1-8.2Z"></path></svg></a>
            <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="noopener nofollow me" aria-label="Projekt-Ogrzewania.pl na Facebooku" title="Facebook"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M14.2 22v-9h3l.5-3.5h-3.5V7.3c0-1 .3-1.7 1.8-1.7h1.9V2.5c-.3 0-1.5-.1-2.8-.1-2.8 0-4.7 1.7-4.7 4.8v2.3H7.2V13h3.2v9h3.8Z"></path></svg></a>
            <a href="https://x.com/Projekt_HVAC" target="_blank" rel="noopener nofollow me" aria-label="Projekt HVAC w serwisie X" title="X"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18.9 2H22l-6.8 7.8L23.2 22H17l-4.9-6.4L6.5 22H3.3l7.3-8.4L2.8 2h6.4l4.4 5.8L18.9 2Zm-1.1 17.8h1.7L8.3 4.1H6.5l11.3 15.7Z"></path></svg></a>
          </div>
        </aside>

        <div class="rk-layout-author-main">
          <blockquote class="rk-layout-author-quote"><p>„Dobry rozstaw to nie liczba wpisana obok nazwy pomieszczenia. To wynik, który musi zgadzać się jednocześnie z bilansem ciepła, powierzchnią czynną, konstrukcją podłogi i hydrauliką realnie narysowanych pętli.”</p></blockquote>
          <div class="rk-layout-author-tabs" role="tablist" aria-label="Informacje o autorze">
            <label class="rk-layout-author-tab" for="rk-layout-author-about">O autorze</label>
            <label class="rk-layout-author-tab" for="rk-layout-author-exp">Doświadczenie</label>
            <label class="rk-layout-author-tab" for="rk-layout-author-sites">Portale</label>
          </div>
          <div class="rk-layout-author-panel rk-layout-author-panel-about"><p>Projektuję wodne ogrzewanie podłogowe, łącząc obliczenia strat ciepła z doborem temperatur, rozstawów, przepływów, długości pętli, strat ciśnienia i nastaw rozdzielaczy.</p></div>
          <div class="rk-layout-author-panel rk-layout-author-panel-exp"><p>W dokumentacji wykonawczej rozstaw jest nanoszony na rzeczywisty rzut. Każdy obwód otrzymuje długość, moc, przepływ i nastawę, dzięki czemu wykonanie oraz rozruch nie opierają się na uniwersalnym schemacie.</p></div>
          <div class="rk-layout-author-panel rk-layout-author-panel-sites"><p>Jestem właścicielem trzech serwisów branżowych. Powiązanie portali podaję jawnie, aby czytelnik znał autorstwo i kontekst linkowania.</p><div class="rk-layout-site-links"><a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a><a href="https://remont.biz.pl/" target="_blank" rel="noopener nofollow">Remont.biz.pl</a><a href="https://sobir.pl/" target="_blank" rel="noopener nofollow">Sobir.pl</a></div></div>
        </div>
      </div>
    </section>

    <section class="rk-layout-cta rk-layout-final-cta" aria-label="Projekt ogrzewania podłogowego z rozstawem rur">
      <span class="rk-layout-kicker" style="color:#7af0ff">Zamknij decyzje przed zalaniem posadzki</span>
      <h2>Otrzymaj kompletny projekt podłogówki dla swojego budynku</h2>
      <p>Dokumentacja połączy straty ciepła, powierzchnie czynne, rozstawy, pola bez rur, strefy lokalne, rzeczywiste długości pętli, przepływy, straty ciśnienia i nastawy rozdzielaczy. Instalator otrzyma gotowy rzut zamiast ogólnej zasady „co 10 albo 15 cm”.</p>
      <a class="rk-layout-cta-button rk-layout-sales-cta" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt ogrzewania podłogowego</a>
      <small class="rk-layout-disclosure">Odnośnik prowadzi do strony sprzedażowej Projekt-Ogrzewania.pl — serwisu należącego do autora artykułu.</small>
    </section>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article",
      "url": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/",
      "headline": "Jak gęsto rozkładać podłogówkę? Rozstaw rur w pomieszczeniach i strefach",
      "description": "Praktyczny poradnik planowania rozstawu rur z planerem powierzchni czynnej, stref, ilości rury i wstępnego podziału na pętle.",
      "inLanguage": "pl-PL",
      "dateModified": "2026-08-30",
      "mainEntityOfPage": {"@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webpage"},
      "author": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"},
      "publisher": {"@id": "https://projekt-ogrzewania.pl/#organization"},
      "about": [
        {"@type": "Thing", "name": "Rozstaw rur ogrzewania podłogowego"},
        {"@type": "Thing", "name": "Powierzchnia czynna ogrzewania podłogowego"},
        {"@type": "Thing", "name": "Strefa brzegowa ogrzewania podłogowego"},
        {"@type": "Thing", "name": "Planowanie pętli grzewczych"}
      ],
      "isPartOf": {"@id": "https://projekt-ogrzewania.pl/#website"}
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webpage",
      "url": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/",
      "name": "Jak gęsto rozkładać podłogówkę? Rozstaw rur w pomieszczeniach i strefach",
      "description": "Sprawdź, co ile cm układać rury podłogówki. Oblicz powierzchnię czynną, ilość rury, strefę brzegową i wstępny podział na pętle.",
      "inLanguage": "pl-PL",
      "dateModified": "2026-08-30",
      "isPartOf": {"@id": "https://projekt-ogrzewania.pl/#website"},
      "breadcrumb": {"@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#breadcrumb"},
      "mainEntity": {"@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article"},
      "potentialAction": {
        "@type": "ReadAction",
        "target": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
      }
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#breadcrumb",
      "itemListElement": [
        {"@type": "ListItem", "position": 1, "name": "Projekt Ogrzewania", "item": "https://projekt-ogrzewania.pl/"},
        {"@type": "ListItem", "position": 2, "name": "Blog", "item": "https://projekt-ogrzewania.pl/blog/"},
        {"@type": "ListItem", "position": 3, "name": "Jak gęsto rozkładać podłogówkę?", "item": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"}
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#planner",
      "name": "Interaktywny planer powierzchni, stref i ilości rur",
      "url": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#rk-layout-planner-section",
      "description": "Bezpłatny planer geometrii pomieszczenia obliczający powierzchnię czynną, orientacyjną długość rury, dobiegi i wstępną liczbę pętli.",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "Any",
      "browserRequirements": "JavaScript",
      "isAccessibleForFree": true,
      "inLanguage": "pl-PL",
      "author": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"},
      "featureList": [
        "Obliczenie powierzchni czynnej",
        "Poglądowy rzut pomieszczenia",
        "Opcjonalna strefa lokalna",
        "Orientacyjna długość rury z dobiegami",
        "Wstępny podział na pętle",
        "Porównanie rozstawu 10, 15 i 20 cm"
      ]
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#howto",
      "name": "Jak zaplanować gęstość rur ogrzewania podłogowego",
      "description": "Procedura od obliczenia straty ciepła do rzutu pętli i tabeli nastaw.",
      "inLanguage": "pl-PL",
      "step": [
        {"@type": "HowToStep", "position": 1, "name": "Oblicz stratę ciepła pomieszczeń", "text": "Wyznacz projektową stratę ciepła osobno dla każdego pomieszczenia."},
        {"@type": "HowToStep", "position": 2, "name": "Ustal temperatury i konstrukcję", "text": "Zbierz temperatury zasilania, powrotu i wnętrza oraz dane wszystkich warstw podłogi."},
        {"@type": "HowToStep", "position": 3, "name": "Nanieś pola bez rur", "text": "Oznacz trwałą zabudowę, kolizje, dylatacje i fragmenty wyłączone."},
        {"@type": "HowToStep", "position": 4, "name": "Wyznacz powierzchnię czynną", "text": "Oblicz pole rzeczywiście oddające ciepło i wymaganą moc jednostkową."},
        {"@type": "HowToStep", "position": 5, "name": "Zweryfikuj rozstaw", "text": "Porównaj możliwe rozstawy na charakterystyce konkretnej konstrukcji podłogi."},
        {"@type": "HowToStep", "position": 6, "name": "Wyznacz strefy lokalne", "text": "Dodaj strefę tylko wtedy, gdy uzasadnia ją lokalne obciążenie cieplne."},
        {"@type": "HowToStep", "position": 7, "name": "Rozrysuj pętle", "text": "Uwzględnij dobiegi, przejścia, promienie gięcia i dylatacje."},
        {"@type": "HowToStep", "position": 8, "name": "Oblicz hydraulikę", "text": "Wyznacz przepływy oraz straty ciśnienia wszystkich obwodów."},
        {"@type": "HowToStep", "position": 9, "name": "Przygotuj dokumentację", "text": "Przekaż wykonawcy rzut, długości pętli, przepływy i nastawy rozdzielacza."}
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#faq",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Co ile centymetrów układać rury ogrzewania podłogowego?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie ma jednej odległości właściwej dla każdego pomieszczenia. Najpierw wyznacza się wymaganą moc z powierzchni czynnej, a następnie sprawdza dostępne moduły na charakterystyce konkretnego systemu przy założonych temperaturach wody i oporze podłogi."}
        },
        {
          "@type": "Question",
          "name": "Czy rozstaw 15 cm wystarczy w całym domu?",
          "acceptedAnswer": {"@type": "Answer", "text": "Może być wystarczający w budynku o małych stratach, ale wymaga sprawdzenia każdego pomieszczenia. Mała powierzchnia czynna, duże przeszklenie lub okładzina o większym oporze mogą zmienić wynik."}
        },
        {
          "@type": "Question",
          "name": "Czy przy pompie ciepła trzeba układać rury co 10 cm?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie zawsze. Gęstszy rozstaw może umożliwić niższą temperaturę wody, ale jego potrzebę trzeba potwierdzić obciążeniem pomieszczenia i charakterystyką podłogi."}
        },
        {
          "@type": "Question",
          "name": "Jaki rozstaw rur zastosować w łazience?",
          "acceptedAnswer": {"@type": "Answer", "text": "Łazienka często ma wyższą temperaturę projektową i mniejszą powierzchnię czynną, ale nie istnieje automatyczna reguła 10 cm. Gdy wolnej podłogi jest zbyt mało, potrzebny może być dodatkowy emiter."}
        },
        {
          "@type": "Question",
          "name": "Czy w salonie wystarczy rozstaw 15 cm?",
          "acceptedAnswer": {"@type": "Answer", "text": "Może wystarczyć, jeżeli przy założonych temperaturach i konstrukcji zapewnia wymaganą moc bez przekroczenia limitu temperatury powierzchni."}
        },
        {
          "@type": "Question",
          "name": "Czy przy oknie HS zawsze trzeba zrobić strefę brzegową?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie. Zastosowanie strefy powinno wynikać z lokalnego obciążenia cieplnego, a projekt powinien określać jej wymiary, rozstaw i sposób włączenia w pętle."}
        },
        {
          "@type": "Question",
          "name": "Czy można ułożyć dwa różne rozstawy w jednej pętli?",
          "acceptedAnswer": {"@type": "Answer", "text": "Można, jeśli geometria, moc i hydraulika zostały obliczone. Granice stref muszą być jednoznacznie pokazane na rzucie."}
        },
        {
          "@type": "Question",
          "name": "Ile rury potrzeba na 1 m² przy 10, 15 i 20 cm?",
          "acceptedAnswer": {"@type": "Answer", "text": "Geometria pola daje około 10 m na m² przy 10 cm, 6,67 m na m² przy 15 cm i 5 m na m² przy 20 cm. Osobno trzeba uwzględnić łuki, kształt pomieszczenia i dobiegi każdej pętli."}
        },
        {
          "@type": "Question",
          "name": "Czy pod stałą zabudową układa się podłogówkę?",
          "acceptedAnswer": {"@type": "Answer", "text": "Decyzję trzeba skoordynować z projektem wnętrz i wymaganiami technicznymi. Trwała zamknięta zabudowa może uzasadniać wyłączenie pola, ale nie należy automatycznie usuwać ogrzewania spod wszystkich mebli ruchomych."}
        },
        {
          "@type": "Question",
          "name": "Czy gęstszy rozstaw powoduje przepływ laminarny?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie bezpośrednio. Charakter przepływu wynika z przepływu w pętli, średnicy wewnętrznej i właściwości medium. Gęstszy rozstaw sam nie wyznacza liczby Reynoldsa."}
        },
        {
          "@type": "Question",
          "name": "Czy jedna pętla rury 16 mm może mieć zawsze 100 m?",
          "acceptedAnswer": {"@type": "Answer", "text": "Nie należy traktować 100 m jako uniwersalnego limitu. Dopuszczalna długość zależy od przepływu, średnicy wewnętrznej, medium, straty ciśnienia i dostępnego sprężu."}
        },
        {
          "@type": "Question",
          "name": "Czy planer wyznacza prawidłowy rozstaw rur?",
          "acceptedAnswer": {"@type": "Answer", "text": "Planer wyznacza geometrię, ilość rury, dobiegi i wstępną liczbę pętli. Poprawność cieplną trzeba osobno potwierdzić dla konkretnej konstrukcji, temperatur wody i oporu okładziny."}
        }
      ]
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/projekt-ogrzewania/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "description": "Autor opracowań i projektów wodnego ogrzewania podłogowego.",
      "worksFor": {"@id": "https://projekt-ogrzewania.pl/#organization"},
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "founder": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"},
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"}
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"}
    },
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "inLanguage": "pl-PL",
      "publisher": {"@id": "https://projekt-ogrzewania.pl/#organization"}
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  var root = document.getElementById("rk-layout-guide");
  if (!root) { return; }

  function byId(id) {
    return document.getElementById(id);
  }

  function readNumber(id, fallback) {
    var node = byId(id);
    if (!node) { return fallback; }
    var value = parseFloat(node.value);
    if (!Number.isFinite(value)) { return fallback; }
    return value;
  }

  function clamp(value, minimum, maximum) {
    return Math.min(Math.max(value, minimum), maximum);
  }

  function formatNumber(value, digits) {
    if (!Number.isFinite(value)) { return "—"; }
    return value.toFixed(digits).replace(".", ",");
  }

  function formatMetres(value) {
    return formatNumber(value, 1) + " m";
  }

  function formatArea(value) {
    return formatNumber(value, 1) + " m²";
  }

  function setText(id, value) {
    var node = byId(id);
    if (node) { node.textContent = value; }
  }

  function setDiagnostic(id, state, title, textValue) {
    var card = byId(id);
    if (!card) { return; }
    card.classList.remove("is-ok", "is-warn", "is-alert");
    card.classList.add(state);
    setText(id + "-title", title);
    setText(id + "-text", textValue);
  }

  function getData() {
    var length = clamp(readNumber("rk-layout-length", 5.5), 1.5, 20);
    var width = clamp(readNumber("rk-layout-width", 4), 1.5, 20);
    var totalArea = length * width;
    var builtInput = Math.max(readNumber("rk-layout-built-area", 0), 0);
    var otherInput = Math.max(readNumber("rk-layout-other-area", 0), 0);
    var builtArea = Math.min(builtInput, totalArea);
    var otherArea = Math.min(otherInput, Math.max(totalArea - builtArea, 0));
    var activeArea = Math.max(totalArea - builtArea - otherArea, 0);
    var load = clamp(readNumber("rk-layout-load", 1050), 100, 10000);
    var baseSpacing = clamp(readNumber("rk-layout-base-spacing", 15), 5, 30);
    var distance = clamp(readNumber("rk-layout-manifold-distance", 6), 0, 40);
    var loopLimit = clamp(readNumber("rk-layout-loop-limit", 90), 45, 120);
    var edgeToggle = byId("rk-layout-edge-toggle");
    var edgeEnabled = false;
    if (edgeToggle) { edgeEnabled = edgeToggle.checked; }
    var edgeWidth = clamp(readNumber("rk-layout-edge-width", .8), .3, 2);
    var edgeLength = clamp(readNumber("rk-layout-edge-length", width), .5, width);
    var edgeSpacing = clamp(readNumber("rk-layout-edge-spacing", 10), 5, 20);
    var edgeArea = 0;
    if (edgeEnabled) {
      edgeArea = Math.min(edgeWidth * edgeLength, activeArea);
    }
    var mainArea = Math.max(activeArea - edgeArea, 0);
    var unitLoad = 0;
    if (activeArea > 0) { unitLoad = load / activeArea; }

    return {
      length: length,
      width: width,
      totalArea: totalArea,
      builtInput: builtInput,
      otherInput: otherInput,
      builtArea: builtArea,
      otherArea: otherArea,
      activeArea: activeArea,
      activeShare: totalArea > 0 ? activeArea / totalArea : 0,
      load: load,
      unitLoad: unitLoad,
      baseSpacing: baseSpacing,
      distance: distance,
      loopLimit: loopLimit,
      edgeEnabled: edgeEnabled,
      edgeWidth: edgeWidth,
      edgeLength: edgeLength,
      edgeSpacing: edgeSpacing,
      edgeArea: edgeArea,
      mainArea: mainArea,
      excludedOverflow: builtInput + otherInput >= totalArea
    };
  }

  function computeVariant(data, spacing) {
    var bendFactor = 1.03;
    var mainPipe = data.mainArea * (100 / spacing) * bendFactor;
    var edgePipe = 0;
    if (data.edgeEnabled) {
      edgePipe = data.edgeArea * (100 / data.edgeSpacing) * bendFactor;
    }
    var fieldPipe = mainPipe + edgePipe;
    var availableForField = data.loopLimit - (2 * data.distance);
    var feasible = availableForField > 3;
    if (fieldPipe <= .01) { feasible = false; }
    var loops = 0;
    var totalPipe = fieldPipe;
    var average = 0;
    var runs = 0;

    if (feasible) {
      loops = Math.max(1, Math.ceil(fieldPipe / availableForField));
      runs = loops * 2 * data.distance;
      totalPipe = fieldPipe + runs;
      average = totalPipe / loops;
    }

    return {
      spacing: spacing,
      factor: (100 / spacing) * bendFactor,
      mainPipe: mainPipe,
      edgePipe: edgePipe,
      fieldPipe: fieldPipe,
      runs: runs,
      totalPipe: totalPipe,
      loops: loops,
      average: average,
      feasible: feasible,
      availableForField: availableForField
    };
  }

  function toggleEdgeFields() {
    var toggle = byId("rk-layout-edge-toggle");
    var enabled = false;
    if (toggle) { enabled = toggle.checked; }
    var ids = ["rk-layout-edge-width", "rk-layout-edge-length", "rk-layout-edge-spacing"];
    ids.forEach(function (id) {
      var node = byId(id);
      if (node) { node.disabled = !enabled; }
    });
  }

  function pathForSerpentine(x, y, width, height, gap) {
    var safeGap = Math.max(gap, 8);
    var left = x + safeGap * .6;
    var right = x + width - safeGap * .6;
    var top = y + safeGap * .6;
    var bottom = y + height - safeGap * .6;
    if (right <= left) { return ""; }
    if (bottom <= top) { return ""; }
    var path = "";
    var currentX = left;
    var down = true;
    var started = false;
    while (currentX <= right + .01) {
      var startY = down ? top : bottom;
      var endY = down ? bottom : top;
      if (!started) {
        path += "M " + currentX.toFixed(1) + " " + startY.toFixed(1) + " ";
        started = true;
      }
      path += "L " + currentX.toFixed(1) + " " + endY.toFixed(1) + " ";
      var nextX = currentX + safeGap;
      if (nextX <= right + .01) {
        path += "L " + nextX.toFixed(1) + " " + endY.toFixed(1) + " ";
      }
      currentX = nextX;
      down = !down;
    }
    return path;
  }

  function areaRectangle(area, roomLength, roomWidth, roomPixelWidth, roomPixelHeight) {
    if (area <= 0) { return {width: 0, height: 0}; }
    var physicalWidth = Math.min(roomLength * .38, Math.max(.55, Math.sqrt(area * 1.35)));
    var physicalHeight = area / physicalWidth;
    if (physicalHeight > roomWidth * .46) {
      physicalHeight = roomWidth * .46;
      physicalWidth = area / physicalHeight;
    }
    physicalWidth = Math.min(physicalWidth, roomLength * .46);
    physicalHeight = Math.min(physicalHeight, roomWidth * .46);
    return {
      width: roomPixelWidth * physicalWidth / roomLength,
      height: roomPixelHeight * physicalHeight / roomWidth
    };
  }

  function renderRoom(data) {
    var drawing = byId("rk-layout-room-drawing");
    if (!drawing) { return; }
    var availableWidth = 550;
    var availableHeight = 280;
    var scale = Math.min(availableWidth / data.length, availableHeight / data.width);
    var roomWidth = data.length * scale;
    var roomHeight = data.width * scale;
    var roomX = 105 + (availableWidth - roomWidth) / 2;
    var roomY = 55 + (availableHeight - roomHeight) / 2;
    var baseGap = Math.max((data.baseSpacing / 100) * scale, 8);
    var basePath = pathForSerpentine(roomX, roomY, roomWidth, roomHeight, baseGap);
    var builtRect = areaRectangle(data.builtArea, data.length, data.width, roomWidth, roomHeight);
    var otherRect = areaRectangle(data.otherArea, data.length, data.width, roomWidth, roomHeight);
    var edgePixelWidth = Math.min(data.edgeWidth * scale, roomWidth);
    var edgePixelHeight = Math.min(data.edgeLength * scale, roomHeight);
    var edgeX = roomX + roomWidth - edgePixelWidth;
    var edgeY = roomY + (roomHeight - edgePixelHeight) / 2;
    var edgePath = "";
    if (data.edgeEnabled) {
      edgePath = pathForSerpentine(edgeX, edgeY, edgePixelWidth, edgePixelHeight, Math.max((data.edgeSpacing / 100) * scale, 7));
    }
    var builtX = roomX + 2;
    var builtY = roomY + 2;
    var otherX = roomX + 2;
    var otherY = roomY + roomHeight - otherRect.height - 2;
    var manifoldY = roomY + roomHeight - 48;
    var roomRight = roomX + roomWidth;
    var roomBottom = roomY + roomHeight;
    var html = "";

    html += "<defs><clipPath id=\"rk-layout-room-clip\"><rect x=\"" + roomX.toFixed(1) + "\" y=\"" + roomY.toFixed(1) + "\" width=\"" + roomWidth.toFixed(1) + "\" height=\"" + roomHeight.toFixed(1) + "\" rx=\"6\"></rect></clipPath></defs>";
    html += "<rect x=\"0\" y=\"0\" width=\"720\" height=\"430\" fill=\"#f8fcfd\"></rect>";
    html += "<text x=\"36\" y=\"28\" fill=\"#102536\" font-size=\"15\" font-weight=\"800\">Rzut orientacyjny</text>";
    html += "<text x=\"684\" y=\"28\" fill=\"#6b7e8a\" font-size=\"11\" text-anchor=\"end\">schemat, nie projekt wykonawczy</text>";
    html += "<rect x=\"" + roomX.toFixed(1) + "\" y=\"" + roomY.toFixed(1) + "\" width=\"" + roomWidth.toFixed(1) + "\" height=\"" + roomHeight.toFixed(1) + "\" rx=\"6\" fill=\"#eaf8fb\" stroke=\"#102536\" stroke-width=\"3\"></rect>";
    html += "<path d=\"" + basePath + "\" fill=\"none\" stroke=\"#25c7d8\" stroke-width=\"3\" stroke-linejoin=\"round\" clip-path=\"url(#rk-layout-room-clip)\"></path>";

    if (data.edgeEnabled) {
      html += "<rect x=\"" + edgeX.toFixed(1) + "\" y=\"" + edgeY.toFixed(1) + "\" width=\"" + edgePixelWidth.toFixed(1) + "\" height=\"" + edgePixelHeight.toFixed(1) + "\" fill=\"#fff1eb\" fill-opacity=\".94\" stroke=\"#ff6a3d\" stroke-width=\"2\" stroke-dasharray=\"7 5\"></rect>";
      html += "<path d=\"" + edgePath + "\" fill=\"none\" stroke=\"#ff6a3d\" stroke-width=\"3\" stroke-linejoin=\"round\" clip-path=\"url(#rk-layout-room-clip)\"></path>";
      html += "<text x=\"" + (edgeX + edgePixelWidth / 2).toFixed(1) + "\" y=\"" + (edgeY + 17).toFixed(1) + "\" fill=\"#a93b20\" font-size=\"10\" font-weight=\"800\" text-anchor=\"middle\">STREFA " + formatNumber(data.edgeSpacing, 1) + " cm</text>";
    }

    if (data.builtArea > 0) {
      html += "<rect x=\"" + builtX.toFixed(1) + "\" y=\"" + builtY.toFixed(1) + "\" width=\"" + builtRect.width.toFixed(1) + "\" height=\"" + builtRect.height.toFixed(1) + "\" fill=\"#6b7e8a\" stroke=\"#475967\" stroke-width=\"2\"></rect>";
      html += "<text x=\"" + (builtX + 8).toFixed(1) + "\" y=\"" + (builtY + 17).toFixed(1) + "\" fill=\"#ffffff\" font-size=\"10\" font-weight=\"800\">ZABUDOWA</text>";
    }

    if (data.otherArea > 0) {
      html += "<rect x=\"" + otherX.toFixed(1) + "\" y=\"" + otherY.toFixed(1) + "\" width=\"" + otherRect.width.toFixed(1) + "\" height=\"" + otherRect.height.toFixed(1) + "\" fill=\"#d94b3d\" stroke=\"#a33127\" stroke-width=\"2\"></rect>";
      html += "<text x=\"" + (otherX + 8).toFixed(1) + "\" y=\"" + (otherY + 17).toFixed(1) + "\" fill=\"#ffffff\" font-size=\"10\" font-weight=\"800\">WYŁĄCZENIE</text>";
    }

    html += "<rect x=\"22\" y=\"" + manifoldY.toFixed(1) + "\" width=\"60\" height=\"48\" rx=\"7\" fill=\"#102536\"></rect>";
    html += "<text x=\"52\" y=\"" + (manifoldY + 21).toFixed(1) + "\" fill=\"#ffffff\" font-size=\"8\" font-weight=\"800\" text-anchor=\"middle\">ROZDZIELACZ</text>";
    html += "<line x1=\"82\" y1=\"" + (manifoldY + 17).toFixed(1) + "\" x2=\"" + roomX.toFixed(1) + "\" y2=\"" + (manifoldY + 17).toFixed(1) + "\" stroke=\"#ff6a3d\" stroke-width=\"4\"></line>";
    html += "<line x1=\"82\" y1=\"" + (manifoldY + 31).toFixed(1) + "\" x2=\"" + roomX.toFixed(1) + "\" y2=\"" + (manifoldY + 31).toFixed(1) + "\" stroke=\"#078fbe\" stroke-width=\"4\"></line>";
    html += "<line x1=\"" + roomX.toFixed(1) + "\" y1=\"" + (roomBottom + 23).toFixed(1) + "\" x2=\"" + roomRight.toFixed(1) + "\" y2=\"" + (roomBottom + 23).toFixed(1) + "\" stroke=\"#8ba1ab\" stroke-width=\"1\"></line>";
    html += "<text x=\"" + (roomX + roomWidth / 2).toFixed(1) + "\" y=\"" + (roomBottom + 41).toFixed(1) + "\" fill=\"#475967\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\">" + formatNumber(data.length, 1) + " m</text>";
    html += "<text x=\"" + (roomRight + 24).toFixed(1) + "\" y=\"" + (roomY + roomHeight / 2).toFixed(1) + "\" fill=\"#475967\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" transform=\"rotate(90 " + (roomRight + 24).toFixed(1) + " " + (roomY + roomHeight / 2).toFixed(1) + ")\">" + formatNumber(data.width, 1) + " m</text>";
    html += "<text x=\"36\" y=\"405\" fill=\"#6b7e8a\" font-size=\"10\">Pole czynne: " + formatArea(data.activeArea) + " • rozstaw główny: " + formatNumber(data.baseSpacing, 1) + " cm</text>";
    drawing.innerHTML = html;
  }

  function renderChart(data, variants) {
    var drawing = byId("rk-layout-chart-drawing");
    if (!drawing) { return; }
    var maxValue = 0;
    variants.forEach(function (variant) {
      if (variant.totalPipe > maxValue) { maxValue = variant.totalPipe; }
    });
    maxValue = Math.max(maxValue, 50);
    var roundedMaximum = Math.ceil(maxValue / 50) * 50;
    var plotX = 92;
    var plotY = 48;
    var plotWidth = 540;
    var plotHeight = 286;
    var baseline = plotY + plotHeight;
    var barWidth = 86;
    var centers = [190, 362, 534];
    var html = "";

    html += "<rect x=\"0\" y=\"0\" width=\"720\" height=\"430\" fill=\"#f8fcfd\"></rect>";
    for (var index = 0; index <= 5; index += 1) {
      var value = roundedMaximum * index / 5;
      var y = baseline - plotHeight * index / 5;
      html += "<line x1=\"" + plotX + "\" y1=\"" + y.toFixed(1) + "\" x2=\"" + (plotX + plotWidth) + "\" y2=\"" + y.toFixed(1) + "\" stroke=\"#d5e4eb\" stroke-width=\"1\"></line>";
      html += "<text x=\"" + (plotX - 12) + "\" y=\"" + (y + 4).toFixed(1) + "\" fill=\"#6b7e8a\" font-size=\"11\" text-anchor=\"end\">" + formatNumber(value, 0) + "</text>";
    }
    html += "<line x1=\"" + plotX + "\" y1=\"" + plotY + "\" x2=\"" + plotX + "\" y2=\"" + baseline + "\" stroke=\"#102536\" stroke-width=\"2\"></line>";
    html += "<line x1=\"" + plotX + "\" y1=\"" + baseline + "\" x2=\"" + (plotX + plotWidth) + "\" y2=\"" + baseline + "\" stroke=\"#102536\" stroke-width=\"2\"></line>";

    variants.forEach(function (variant, variantIndex) {
      var center = centers[variantIndex];
      var fieldHeight = plotHeight * variant.fieldPipe / roundedMaximum;
      var runsHeight = plotHeight * variant.runs / roundedMaximum;
      var fieldY = baseline - fieldHeight;
      var runsY = fieldY - runsHeight;
      var isSelected = Math.abs(data.baseSpacing - variant.spacing) < .01;
      var outline = isSelected ? "#ff6a3d" : "#284b5e";
      var outlineWidth = isSelected ? 4 : 1;
      html += "<rect x=\"" + (center - barWidth / 2) + "\" y=\"" + fieldY.toFixed(1) + "\" width=\"" + barWidth + "\" height=\"" + fieldHeight.toFixed(1) + "\" fill=\"#078fbe\"></rect>";
      if (runsHeight > 0) {
        html += "<rect x=\"" + (center - barWidth / 2) + "\" y=\"" + runsY.toFixed(1) + "\" width=\"" + barWidth + "\" height=\"" + runsHeight.toFixed(1) + "\" fill=\"#695ac9\"></rect>";
      }
      html += "<rect x=\"" + (center - barWidth / 2) + "\" y=\"" + runsY.toFixed(1) + "\" width=\"" + barWidth + "\" height=\"" + (fieldHeight + runsHeight).toFixed(1) + "\" fill=\"none\" stroke=\"" + outline + "\" stroke-width=\"" + outlineWidth + "\"></rect>";
      html += "<text x=\"" + center + "\" y=\"" + Math.max(runsY - 10, 23).toFixed(1) + "\" fill=\"#102536\" font-size=\"12\" font-weight=\"800\" text-anchor=\"middle\">" + formatNumber(variant.totalPipe, 1) + " m</text>";
      html += "<text x=\"" + center + "\" y=\"" + (baseline + 24) + "\" fill=\"#102536\" font-size=\"13\" font-weight=\"900\" text-anchor=\"middle\">" + variant.spacing + " cm</text>";
      var loopText = variant.feasible ? variant.loops + " pętli" : "brak podziału";
      html += "<text x=\"" + center + "\" y=\"" + (baseline + 43) + "\" fill=\"#6b7e8a\" font-size=\"10\" text-anchor=\"middle\">" + loopText + "</text>";
    });

    html += "<text x=\"18\" y=\"195\" fill=\"#475967\" font-size=\"11\" font-weight=\"700\" text-anchor=\"middle\" transform=\"rotate(-90 18 195)\">Długość rury [m]</text>";
    html += "<text x=\"684\" y=\"411\" fill=\"#6b7e8a\" font-size=\"10\" text-anchor=\"end\">Rura w polu z dodatkiem 3% oraz dobiegi każdej pętli</text>";
    drawing.innerHTML = html;
  }

  function updateComparison(data, variants) {
    variants.forEach(function (variant) {
      var key = String(variant.spacing);
      var card = byId("rk-layout-compare-" + key);
      if (!card) { return; }
      card.classList.remove("is-selected");
      setText("rk-layout-selected-" + key, "");
      if (Math.abs(data.baseSpacing - variant.spacing) < .01) {
        card.classList.add("is-selected");
        setText("rk-layout-selected-" + key, "wybrany");
      }
      setText("rk-layout-length-" + key, formatMetres(variant.totalPipe));
      setText("rk-layout-factor-" + key, formatNumber(variant.factor, 2) + " m/m²");
      if (variant.feasible) {
        setText("rk-layout-loops-" + key, String(variant.loops));
        setText("rk-layout-average-" + key, formatMetres(variant.average));
      } else {
        setText("rk-layout-loops-" + key, "—");
        setText("rk-layout-average-" + key, "—");
      }
    });
  }

  function updateDiagnostics(data, selected) {
    if (data.activeArea <= .05) {
      setDiagnostic("rk-layout-diag-area", "is-alert", "Brak powierzchni czynnej", "Suma wpisanych wyłączeń zajmuje całe pomieszczenie. Zmniejsz pola bez rur albo skontroluj wymiary.");
    } else if (data.activeShare < .55) {
      setDiagnostic("rk-layout-diag-area", "is-alert", formatNumber(data.activeShare * 100, 0) + "% pola pracuje", "Bardzo mała powierzchnia czynna silnie zwiększa wymaganie W/m². Potrzebna jest dokładna weryfikacja cieplna.");
    } else if (data.activeShare < .75) {
      setDiagnostic("rk-layout-diag-area", "is-warn", formatNumber(data.activeShare * 100, 0) + "% pola pracuje", "Wyłączenia są istotne. Nie licz mocy z całej powierzchni pomieszczenia.");
    } else {
      setDiagnostic("rk-layout-diag-area", "is-ok", formatNumber(data.activeShare * 100, 0) + "% pola pracuje", "Powierzchnia czynna została policzona po odjęciu wpisanych wyłączeń. Ich położenie trzeba jeszcze nanieść na realny rzut.");
    }

    if (data.activeArea <= .05) {
      setDiagnostic("rk-layout-diag-loop", "is-alert", "Brak pola do podziału", "Najpierw wprowadź dodatnią powierzchnię czynną pomieszczenia.");
    } else if (!selected.feasible) {
      setDiagnostic("rk-layout-diag-loop", "is-alert", "Dobiegi wyczerpują limit", "Podwójna odległość od rozdzielacza pozostawia mniej niż 3 m długości na pole grzewcze. Zmień lokalizację rozdzielacza lub założenia projektu.");
    } else {
      var ratio = selected.average / data.loopLimit;
      if (ratio > .92) {
        setDiagnostic("rk-layout-diag-loop", "is-warn", selected.loops + " pętli • mała rezerwa", "Średnia długość jest blisko wpisanego limitu. Nieregularna geometria może wymagać dodatkowego obwodu.");
      } else if (selected.loops > 12) {
        setDiagnostic("rk-layout-diag-loop", "is-warn", selected.loops + " pętli • duży podział", "To wynik wstępny. Sprawdź liczbę sekcji rozdzielacza, układ pomieszczeń i rzeczywiste długości dobiegów.");
      } else {
        setDiagnostic("rk-layout-diag-loop", "is-ok", selected.loops + " pętli • wstępnie", "Średnio około " + formatNumber(selected.average, 1) + " m na obwód. Wynik wymaga rozrysowania i obliczenia strat ciśnienia.");
      }
    }

    if (data.activeArea <= .05) {
      setDiagnostic("rk-layout-diag-thermal", "is-alert", "Nie można policzyć W/m²", "Najpierw wprowadź dodatnią powierzchnię czynną.");
    } else if (data.unitLoad > 80) {
      setDiagnostic("rk-layout-diag-thermal", "is-alert", formatNumber(data.unitLoad, 1) + " W/m² • wysokie wymaganie", "To nie wybiera automatycznie 10 cm. Trzeba sprawdzić charakterystykę podłogi, temperaturę powierzchni i ewentualny dodatkowy emiter.");
    } else if (data.unitLoad > 55) {
      setDiagnostic("rk-layout-diag-thermal", "is-warn", formatNumber(data.unitLoad, 1) + " W/m² • potrzebne obliczenie", "Wybrany rozstaw jest tylko założeniem geometrycznym. Zweryfikuj moc dla temperatur wody, jastrychu i oporu okładziny.");
    } else {
      setDiagnostic("rk-layout-diag-thermal", "is-warn", formatNumber(data.unitLoad, 1) + " W/m² • bez automatycznej decyzji", "Mniejsze wymaganie nie potwierdza samo rozstawu 15 lub 20 cm. Nadal potrzebna jest charakterystyka konkretnego systemu.");
    }
  }

  function calculate() {
    toggleEdgeFields();
    var data = getData();
    var selected = computeVariant(data, data.baseSpacing);
    var variants = [computeVariant(data, 10), computeVariant(data, 15), computeVariant(data, 20)];

    setText("rk-layout-total-output", formatArea(data.totalArea));
    setText("rk-layout-active-output", formatArea(data.activeArea) + " • " + formatNumber(data.activeShare * 100, 0) + "%");
    if (data.activeArea > 0) {
      setText("rk-layout-unit-load-output", formatNumber(data.unitLoad, 1) + " W/m²");
    } else {
      setText("rk-layout-unit-load-output", "brak pola czynnego");
    }
    setText("rk-layout-pipe-output", formatMetres(selected.totalPipe));
    if (selected.feasible) {
      setText("rk-layout-loop-output", String(selected.loops));
      setText("rk-layout-average-output", formatMetres(selected.average));
    } else {
      setText("rk-layout-loop-output", "brak wyniku");
      setText("rk-layout-average-output", "—");
    }

    renderRoom(data);
    renderChart(data, variants);
    updateComparison(data, variants);
    updateDiagnostics(data, selected);

    var roomDescription = byId("rk-layout-room-desc");
    if (roomDescription) {
      roomDescription.textContent = "Pomieszczenie " + formatNumber(data.length, 1) + " na " + formatNumber(data.width, 1) + " metra, powierzchnia czynna " + formatNumber(data.activeArea, 1) + " metra kwadratowego, wybrany rozstaw " + formatNumber(data.baseSpacing, 1) + " centymetra.";
    }
    var chartDescription = byId("rk-layout-chart-desc");
    if (chartDescription) {
      chartDescription.textContent = "Porównanie długości rury dla rozstawu 10, 15 i 20 centymetrów przy powierzchni czynnej " + formatNumber(data.activeArea, 1) + " metra kwadratowego.";
    }
  }

  function resetData() {
    var defaults = {
      "rk-layout-length": "5.5",
      "rk-layout-width": "4",
      "rk-layout-load": "1050",
      "rk-layout-base-spacing": "15",
      "rk-layout-built-area": "3.5",
      "rk-layout-other-area": "1",
      "rk-layout-manifold-distance": "6",
      "rk-layout-loop-limit": "90",
      "rk-layout-edge-width": "0.8",
      "rk-layout-edge-length": "4",
      "rk-layout-edge-spacing": "10"
    };
    Object.keys(defaults).forEach(function (id) {
      var node = byId(id);
      if (node) { node.value = defaults[id]; }
    });
    var edge = byId("rk-layout-edge-toggle");
    if (edge) { edge.checked = false; }
    calculate();
  }

  function updateProgress() {
    var progress = byId("rk-layout-progress");
    if (!progress) { return; }
    var rect = root.getBoundingClientRect();
    var articleTop = window.pageYOffset + rect.top;
    var scrollable = root.offsetHeight - window.innerHeight;
    var passed = window.pageYOffset - articleTop;
    var percentage = 0;
    if (scrollable > 0) { percentage = passed / scrollable * 100; }
    percentage = clamp(percentage, 0, 100);
    progress.style.width = percentage.toFixed(2) + "%";
  }

  var interactiveIds = [
    "rk-layout-length",
    "rk-layout-width",
    "rk-layout-load",
    "rk-layout-base-spacing",
    "rk-layout-built-area",
    "rk-layout-other-area",
    "rk-layout-manifold-distance",
    "rk-layout-loop-limit",
    "rk-layout-edge-toggle",
    "rk-layout-edge-width",
    "rk-layout-edge-length",
    "rk-layout-edge-spacing"
  ];

  interactiveIds.forEach(function (id) {
    var node = byId(id);
    if (!node) { return; }
    node.addEventListener("input", calculate);
    node.addEventListener("change", calculate);
  });

  var reset = byId("rk-layout-reset");
  if (reset) { reset.addEventListener("click", resetData); }
  window.addEventListener("scroll", updateProgress, {passive: true});
  window.addEventListener("resize", function () {
    calculate();
    updateProgress();
  });

  calculate();
  updateProgress();
})();
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/">Jak gęsto rozkładać podłogówkę? Rozstaw rur w pomieszczeniach i strefach</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Rozstaw rur ogrzewania podłogowego przy pompie ciepła.</title>
		<link>https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/</link>
					<comments>https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 22 Dec 2024 11:02:08 +0000</pubDate>
				<category><![CDATA[Ekologiczne ogrzewanie]]></category>
		<category><![CDATA[Energooszczędne budownictwo]]></category>
		<category><![CDATA[Niskotemperaturowe systemy grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Oszczędzanie energii]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Projekty grzewcze]]></category>
		<category><![CDATA[Rozstaw rur ogrzewania]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[izolacja budynku]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[niskotemperaturowe ogrzewanie]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędne ogrzewanie]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[system grzewczy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1823</guid>

					<description><![CDATA[<p>Ogrzewanie domu za pomocą pompy ciepła to oszczędne i ekologiczne rozwiązanie. Kluczem do efektywności systemu jest odpowiednio zaprojektowany rozstaw rur ogrzewania podłogowego przy pompie ciepła oraz utrzymanie niskiej temperatury zasilania na poziomie 35 stopni Celsjusza. Dowiedz się, jak optymalnie zaplanować układ grzewczy, zadbać o izolację budynku oraz jakich zasad przestrzegać, aby pompa ciepła pracowała wydajnie i ekonomicznie przez długie lata.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">Rozstaw rur ogrzewania podłogowego przy pompie ciepła.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-sp-guide {
    --rk-sp-dark: #102536;
    --rk-sp-navy: #14384d;
    --rk-sp-graphite: #2b3f4d;
    --rk-sp-blue: #078fbe;
    --rk-sp-cyan: #28c9da;
    --rk-sp-cyan-soft: #eafcff;
    --rk-sp-orange: #ff7438;
    --rk-sp-red: #e33d35;
    --rk-sp-green: #16856b;
    --rk-sp-green-soft: #eaf8f4;
    --rk-sp-yellow: #d99a13;
    --rk-sp-yellow-soft: #fff8df;
    --rk-sp-ink: #1f2937;
    --rk-sp-text: #465866;
    --rk-sp-muted: #687986;
    --rk-sp-line: #dce8ee;
    --rk-sp-soft: #f5f9fb;
    --rk-sp-warm: #fff4ed;
    --rk-sp-white: #ffffff;
    width: 100%;
    max-width: 1080px;
    margin: 34px auto 70px;
    color: var(--rk-sp-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.78;
  }

  #rk-sp-guide,
  #rk-sp-guide * {
    box-sizing: border-box;
  }

  #rk-sp-guide img,
  #rk-sp-guide svg {
    max-width: 100%;
  }

  #rk-sp-guide button,
  #rk-sp-guide input,
  #rk-sp-guide select,
  #rk-sp-guide a,
  #rk-sp-guide summary {
    font: inherit;
    -webkit-tap-highlight-color: transparent;
  }

  #rk-sp-guide a {
    color: var(--rk-sp-blue);
    font-weight: 760;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  #rk-sp-guide a:hover {
    color: var(--rk-sp-red);
  }

  #rk-sp-guide h2,
  #rk-sp-guide h3,
  #rk-sp-guide h4 {
    margin-top: 0;
    color: var(--rk-sp-dark);
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 1.18;
  }

  #rk-sp-guide h2 {
    margin-bottom: 18px;
    font-size: clamp(1.65rem, 3.7vw, 2.6rem);
  }

  #rk-sp-guide h3 {
    margin-bottom: 12px;
    font-size: clamp(1.18rem, 2.5vw, 1.56rem);
  }

  #rk-sp-guide h4 {
    margin-bottom: 8px;
    font-size: 1.02rem;
    letter-spacing: -0.015em;
  }

  /* Ochrona przed dekoracjami nagłówków dodawanymi przez motyw po publikacji. */
  #rk-sp-guide h2::before,
  #rk-sp-guide h2::after,
  #rk-sp-guide h3::before,
  #rk-sp-guide h3::after,
  #rk-sp-guide h4::before,
  #rk-sp-guide h4::after {
    content: none !important;
    display: none !important;
  }

  #rk-sp-guide p {
    margin: 0 0 1.25em;
    color: var(--rk-sp-text);
  }

  #rk-sp-guide strong {
    color: var(--rk-sp-dark);
  }

  #rk-sp-guide section[id] {
    scroll-margin-top: 28px;
  }

  #rk-sp-guide .rk-sp-shell {
    overflow: hidden;
    border: 1px solid var(--rk-sp-line);
    border-radius: 30px;
    background: var(--rk-sp-white);
    box-shadow: 0 25px 70px rgba(16, 37, 54, 0.12);
  }

  #rk-sp-guide .rk-sp-progress-track {
    position: sticky;
    z-index: 30;
    top: 0;
    width: 100%;
    height: 5px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.82);
  }

  #rk-sp-guide .rk-sp-progress {
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--rk-sp-cyan), var(--rk-sp-blue), var(--rk-sp-orange), var(--rk-sp-red));
  }

  #rk-sp-guide .rk-sp-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(38px, 6.5vw, 78px);
    color: var(--rk-sp-white);
    background:
      radial-gradient(circle at 88% 12%, rgba(255, 116, 56, 0.35), transparent 27%),
      radial-gradient(circle at 82% 78%, rgba(40, 201, 218, 0.24), transparent 31%),
      linear-gradient(135deg, #0d2230 0%, #143b50 58%, #095e78 100%);
  }

  #rk-sp-guide .rk-sp-hero::before,
  #rk-sp-guide .rk-sp-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
  }

  #rk-sp-guide .rk-sp-hero::before {
    right: -115px;
    bottom: -170px;
    width: 390px;
    height: 390px;
    border: 58px solid rgba(255, 255, 255, 0.055);
  }

  #rk-sp-guide .rk-sp-hero::after {
    right: 115px;
    bottom: -130px;
    width: 230px;
    height: 230px;
    border: 34px solid rgba(255, 116, 56, 0.11);
  }

  #rk-sp-guide .rk-sp-badge {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin: 0 0 24px;
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    color: var(--rk-sp-white);
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-sp-guide .rk-sp-badge-dot {
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 50%;
    background: var(--rk-sp-orange);
    box-shadow: 0 0 0 6px rgba(255, 116, 56, 0.18);
  }

  #rk-sp-guide .rk-sp-hero h2 {
    max-width: 940px;
    margin-bottom: 24px;
    color: var(--rk-sp-white);
    font-size: clamp(2rem, 5.1vw, 3.8rem);
    letter-spacing: -0.055em;
  }

  #rk-sp-guide .rk-sp-hero h2 span {
    color: #84edf5;
  }

  #rk-sp-guide .rk-sp-hook {
    max-width: 930px;
    margin: 0 0 26px;
    padding: clamp(20px, 3.6vw, 30px);
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-left: 5px solid var(--rk-sp-orange);
    border-radius: 0 18px 18px 0;
    background: rgba(255, 255, 255, 0.09);
  }

  #rk-sp-guide .rk-sp-hook p {
    margin: 0;
    color: #f3f8fa;
    font-size: clamp(1.02rem, 2.1vw, 1.23rem);
    font-weight: 620;
    line-height: 1.7;
  }

  #rk-sp-guide .rk-sp-hook strong {
    color: var(--rk-sp-white);
  }

  #rk-sp-guide .rk-sp-hero-lead {
    max-width: 920px;
    color: #dcecf1;
    font-size: clamp(1rem, 2vw, 1.15rem);
  }

  #rk-sp-guide .rk-sp-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 18px;
    margin-top: 28px;
  }

  #rk-sp-guide .rk-sp-hero-meta span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: #d8e8ee;
    font-size: 0.76rem;
    font-weight: 780;
  }

  #rk-sp-guide .rk-sp-hero-meta i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--rk-sp-orange);
  }

  #rk-sp-guide .rk-sp-author-strip {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-top: 30px;
  }

  #rk-sp-guide .rk-sp-author-strip img {
    width: 58px;
    height: 58px;
    border: 3px solid rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
  }

  #rk-sp-guide .rk-sp-author-strip b,
  #rk-sp-guide .rk-sp-author-strip small {
    display: block;
  }

  #rk-sp-guide .rk-sp-author-strip b {
    color: var(--rk-sp-white);
    font-size: 0.9rem;
  }

  #rk-sp-guide .rk-sp-author-strip small {
    color: #c8dce4;
    font-size: 0.7rem;
    line-height: 1.45;
  }

  #rk-sp-guide .rk-sp-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 24px clamp(20px, 4vw, 52px);
    border-bottom: 1px solid var(--rk-sp-line);
    background: var(--rk-sp-soft);
  }

  #rk-sp-guide .rk-sp-nav a {
    display: flex;
    gap: 10px;
    align-items: center;
    min-height: 54px;
    padding: 11px 14px;
    border: 1px solid var(--rk-sp-line);
    border-radius: 14px;
    color: var(--rk-sp-dark);
    background: var(--rk-sp-white);
    font-size: 0.74rem;
    font-weight: 850;
    line-height: 1.35;
    text-decoration: none;
  }

  #rk-sp-guide .rk-sp-nav a:hover,
  #rk-sp-guide .rk-sp-nav a:focus-visible {
    border-color: var(--rk-sp-cyan);
    color: var(--rk-sp-blue);
  }

  #rk-sp-guide .rk-sp-nav-num {
    display: inline-flex;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: var(--rk-sp-white);
    background: var(--rk-sp-dark);
    font-size: 0.65rem;
    font-weight: 900;
  }

  #rk-sp-guide .rk-sp-content {
    padding: clamp(28px, 5vw, 64px);
  }

  #rk-sp-guide .rk-sp-section {
    margin-top: clamp(54px, 8vw, 92px);
  }

  #rk-sp-guide .rk-sp-section:first-child {
    margin-top: 0;
  }

  #rk-sp-guide .rk-sp-section-head {
    max-width: 880px;
    margin-bottom: 28px;
  }

  #rk-sp-guide .rk-sp-eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--rk-sp-red);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  #rk-sp-guide .rk-sp-lead {
    color: var(--rk-sp-graphite);
    font-size: clamp(1.02rem, 2vw, 1.18rem);
  }

  #rk-sp-guide .rk-sp-dropcap::first-letter {
    float: left;
    margin: 0.08em 0.12em 0 0;
    color: var(--rk-sp-orange);
    font-size: 3.5em;
    font-weight: 900;
    line-height: 0.82;
  }

  #rk-sp-guide .rk-sp-verdict {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    margin: 30px 0;
    padding: clamp(25px, 4.5vw, 42px);
    border: 1px solid #ffcbb7;
    border-radius: 24px;
    background: linear-gradient(135deg, #fff9f5, var(--rk-sp-warm));
  }

  #rk-sp-guide .rk-sp-verdict p:last-child {
    margin-bottom: 0;
  }

  #rk-sp-guide .rk-sp-verdict-number {
    min-width: 190px;
    padding: 20px;
    border-radius: 21px;
    color: var(--rk-sp-white);
    background: linear-gradient(145deg, var(--rk-sp-orange), var(--rk-sp-red));
    text-align: center;
    box-shadow: 0 17px 38px rgba(227, 61, 53, 0.22);
  }

  #rk-sp-guide .rk-sp-verdict-number b,
  #rk-sp-guide .rk-sp-verdict-number small {
    display: block;
    color: var(--rk-sp-white);
  }

  #rk-sp-guide .rk-sp-verdict-number b {
    font-size: clamp(2.1rem, 5vw, 3.4rem);
    line-height: 1;
  }

  #rk-sp-guide .rk-sp-verdict-number small {
    margin-top: 8px;
    font-size: 0.67rem;
    font-weight: 850;
    line-height: 1.35;
  }

  #rk-sp-guide .rk-sp-formulas {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 28px 0;
  }

  #rk-sp-guide .rk-sp-formula {
    padding: 24px;
    border: 1px solid var(--rk-sp-line);
    border-radius: 19px;
    background: var(--rk-sp-soft);
  }

  #rk-sp-guide .rk-sp-formula-code {
    display: block;
    margin: 12px 0;
    color: var(--rk-sp-dark);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: clamp(1rem, 2.6vw, 1.35rem);
    font-weight: 800;
    line-height: 1.45;
  }

  #rk-sp-guide .rk-sp-formula small {
    display: block;
    color: var(--rk-sp-muted);
    font-size: 0.72rem;
    line-height: 1.55;
  }

  #rk-sp-guide .rk-sp-grid-4,
  #rk-sp-guide .rk-sp-grid-3,
  #rk-sp-guide .rk-sp-grid-2 {
    display: grid;
    gap: 16px;
  }

  #rk-sp-guide .rk-sp-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-sp-guide .rk-sp-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-sp-guide .rk-sp-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #rk-sp-guide .rk-sp-card {
    min-width: 0;
    padding: 23px;
    border: 1px solid var(--rk-sp-line);
    border-radius: 19px;
    background: var(--rk-sp-white);
    box-shadow: 0 10px 26px rgba(16, 37, 54, 0.06);
  }

  #rk-sp-guide .rk-sp-card p:last-child {
    margin-bottom: 0;
  }

  #rk-sp-guide .rk-sp-pitch {
    display: inline-flex;
    min-width: 68px;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    padding: 8px 12px;
    border-radius: 13px;
    color: var(--rk-sp-white);
    background: var(--rk-sp-dark);
    font-size: 1rem;
    font-weight: 900;
  }

  #rk-sp-guide .rk-sp-card.rk-sp-special {
    border-color: #ffd2bf;
    background: var(--rk-sp-warm);
  }

  #rk-sp-guide .rk-sp-card.rk-sp-recommended {
    border-color: #9ee8ee;
    background: var(--rk-sp-cyan-soft);
  }

  #rk-sp-guide .rk-sp-card.rk-sp-caution {
    border-color: #ead58e;
    background: var(--rk-sp-yellow-soft);
  }

  #rk-sp-guide .rk-sp-mini-list {
    margin: 13px 0 0;
    padding: 0;
    list-style: none;
  }

  #rk-sp-guide .rk-sp-mini-list li {
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr);
    gap: 9px;
    margin: 8px 0;
    color: var(--rk-sp-text);
    font-size: 0.78rem;
    line-height: 1.5;
  }

  #rk-sp-guide .rk-sp-mini-list li span:first-child {
    width: 7px;
    height: 7px;
    margin-top: 0.55em;
    border-radius: 50%;
    background: var(--rk-sp-orange);
  }

  #rk-sp-guide .rk-sp-table-wrap {
    margin: 28px 0;
  }

  #rk-sp-guide .rk-sp-table {
    width: 100%;
    border-collapse: separate;
    border: 1px solid var(--rk-sp-line);
    border-spacing: 0;
    border-radius: 18px;
    overflow: hidden;
    background: var(--rk-sp-white);
    font-size: 0.77rem;
  }

  #rk-sp-guide .rk-sp-table th,
  #rk-sp-guide .rk-sp-table td {
    padding: 14px 13px;
    border-bottom: 1px solid var(--rk-sp-line);
    vertical-align: top;
    text-align: left;
    line-height: 1.5;
  }

  #rk-sp-guide .rk-sp-table th {
    color: var(--rk-sp-white);
    background: var(--rk-sp-dark);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.035em;
    text-transform: uppercase;
  }

  #rk-sp-guide .rk-sp-table tr:last-child td {
    border-bottom: 0;
  }

  #rk-sp-guide .rk-sp-table td strong {
    white-space: nowrap;
  }

  #rk-sp-guide .rk-sp-note {
    margin: 24px 0;
    padding: 20px 22px;
    border-left: 5px solid var(--rk-sp-blue);
    border-radius: 0 15px 15px 0;
    background: var(--rk-sp-cyan-soft);
  }

  #rk-sp-guide .rk-sp-note.rk-sp-note-warn {
    border-left-color: var(--rk-sp-orange);
    background: var(--rk-sp-warm);
  }

  #rk-sp-guide .rk-sp-note p:last-child {
    margin-bottom: 0;
  }

  #rk-sp-guide .rk-sp-lab {
    overflow: hidden;
    margin: 30px 0;
    border: 1px solid #b8e9ee;
    border-radius: 25px;
    background: #fbfeff;
    box-shadow: 0 20px 55px rgba(7, 143, 190, 0.1);
  }

  #rk-sp-guide .rk-sp-lab-head {
    padding: clamp(24px, 4vw, 36px);
    color: var(--rk-sp-white);
    background: linear-gradient(135deg, var(--rk-sp-dark), #12546c);
  }

  #rk-sp-guide .rk-sp-lab-head h3,
  #rk-sp-guide .rk-sp-lab-head p,
  #rk-sp-guide .rk-sp-lab-head strong {
    color: var(--rk-sp-white);
  }

  #rk-sp-guide .rk-sp-lab-head p:last-child {
    margin-bottom: 0;
    color: #d5e9ef;
  }

  #rk-sp-guide .rk-sp-lab-body {
    padding: clamp(22px, 4vw, 36px);
  }

  #rk-sp-guide .rk-sp-controls {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  #rk-sp-guide .rk-sp-control {
    min-width: 0;
    padding: 17px;
    border: 1px solid var(--rk-sp-line);
    border-radius: 16px;
    background: var(--rk-sp-white);
  }

  #rk-sp-guide .rk-sp-control label {
    display: flex;
    gap: 8px;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 10px;
    color: var(--rk-sp-dark);
    font-size: 0.73rem;
    font-weight: 850;
    line-height: 1.35;
  }

  #rk-sp-guide .rk-sp-control output {
    color: var(--rk-sp-red);
    font-size: 0.74rem;
    font-weight: 900;
    white-space: nowrap;
  }

  #rk-sp-guide .rk-sp-control input[type="range"] {
    width: 100%;
    accent-color: var(--rk-sp-orange);
  }

  #rk-sp-guide .rk-sp-control select {
    width: 100%;
    min-height: 46px;
    padding: 9px 10px;
    border: 1px solid #c8d8df;
    border-radius: 10px;
    color: var(--rk-sp-dark);
    background: var(--rk-sp-white);
    font-size: 0.76rem;
    font-weight: 700;
  }

  #rk-sp-guide .rk-sp-control small {
    display: block;
    margin-top: 8px;
    color: var(--rk-sp-muted);
    font-size: 0.64rem;
    line-height: 1.45;
  }

  #rk-sp-guide .rk-sp-live-summary {
    margin: 22px 0;
    padding: 18px 20px;
    border-radius: 15px;
    color: var(--rk-sp-dark);
    background: var(--rk-sp-cyan-soft);
    font-size: 0.83rem;
    font-weight: 760;
  }

  #rk-sp-guide .rk-sp-results {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  #rk-sp-guide .rk-sp-result {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--rk-sp-line);
    border-radius: 18px;
    background: var(--rk-sp-white);
  }

  #rk-sp-guide .rk-sp-result-head {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
  }

  #rk-sp-guide .rk-sp-result-title {
    color: var(--rk-sp-dark);
    font-size: 1.08rem;
    font-weight: 900;
  }

  #rk-sp-guide .rk-sp-status {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 6px 10px;
    border-radius: 999px;
    color: var(--rk-sp-dark);
    background: var(--rk-sp-soft);
    font-size: 0.62rem;
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
  }

  #rk-sp-guide .rk-sp-status.is-good {
    color: #0d5d4a;
    background: var(--rk-sp-green-soft);
  }

  #rk-sp-guide .rk-sp-status.is-warn {
    color: #765200;
    background: var(--rk-sp-yellow-soft);
  }

  #rk-sp-guide .rk-sp-status.is-bad {
    color: #9f2b27;
    background: #ffebe8;
  }

  #rk-sp-guide .rk-sp-result-values {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
  }

  #rk-sp-guide .rk-sp-result-value {
    padding: 12px;
    border-radius: 12px;
    background: var(--rk-sp-soft);
  }

  #rk-sp-guide .rk-sp-result-value span,
  #rk-sp-guide .rk-sp-result-value b {
    display: block;
  }

  #rk-sp-guide .rk-sp-result-value span {
    color: var(--rk-sp-muted);
    font-size: 0.61rem;
    font-weight: 760;
    line-height: 1.35;
  }

  #rk-sp-guide .rk-sp-result-value b {
    margin-top: 3px;
    color: var(--rk-sp-dark);
    font-size: 0.9rem;
    line-height: 1.3;
  }

  #rk-sp-guide .rk-sp-result-foot {
    margin-top: 13px;
    color: var(--rk-sp-muted);
    font-size: 0.65rem;
    line-height: 1.5;
  }

  #rk-sp-guide .rk-sp-chart-panel {
    margin: 25px 0;
    padding: clamp(19px, 3vw, 28px);
    border: 1px solid var(--rk-sp-line);
    border-radius: 19px;
    background: var(--rk-sp-white);
  }

  #rk-sp-guide .rk-sp-chart-panel h4 {
    margin-bottom: 5px;
  }

  #rk-sp-guide .rk-sp-chart-caption {
    margin-bottom: 16px;
    color: var(--rk-sp-muted);
    font-size: 0.71rem;
    line-height: 1.55;
  }

  #rk-sp-guide .rk-sp-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 15px;
    margin-bottom: 12px;
    color: var(--rk-sp-text);
    font-size: 0.66rem;
    font-weight: 800;
  }

  #rk-sp-guide .rk-sp-chart-legend span {
    display: inline-flex;
    gap: 7px;
    align-items: center;
  }

  #rk-sp-guide .rk-sp-chart-legend i {
    width: 22px;
    height: 4px;
    border-radius: 99px;
  }

  #rk-sp-guide .rk-sp-chart-svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
  }

  #rk-sp-guide .rk-sp-eff-list {
    display: grid;
    gap: 13px;
  }

  #rk-sp-guide .rk-sp-eff-row {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) minmax(130px, auto);
    gap: 12px;
    align-items: center;
  }

  #rk-sp-guide .rk-sp-eff-label,
  #rk-sp-guide .rk-sp-eff-value {
    color: var(--rk-sp-dark);
    font-size: 0.7rem;
    font-weight: 850;
  }

  #rk-sp-guide .rk-sp-eff-value {
    text-align: right;
  }

  #rk-sp-guide .rk-sp-eff-track {
    height: 15px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--rk-sp-soft);
  }

  #rk-sp-guide .rk-sp-eff-bar {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--rk-sp-cyan), var(--rk-sp-blue));
    transition: width 240ms ease;
  }

  #rk-sp-guide .rk-sp-equation {
    margin: 26px 0;
    padding: clamp(22px, 4vw, 34px);
    border-radius: 22px;
    color: var(--rk-sp-white);
    background: linear-gradient(135deg, var(--rk-sp-dark), #173f55);
  }

  #rk-sp-guide .rk-sp-equation h3,
  #rk-sp-guide .rk-sp-equation p,
  #rk-sp-guide .rk-sp-equation strong {
    color: var(--rk-sp-white);
  }

  #rk-sp-guide .rk-sp-equation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 20px;
  }

  #rk-sp-guide .rk-sp-equation-card {
    min-width: 0;
    padding: 17px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.07);
  }

  #rk-sp-guide .rk-sp-equation-card b,
  #rk-sp-guide .rk-sp-equation-card small {
    display: block;
    color: var(--rk-sp-white);
  }

  #rk-sp-guide .rk-sp-equation-card b {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 0.9rem;
    line-height: 1.45;
  }

  #rk-sp-guide .rk-sp-equation-card small {
    margin-top: 7px;
    color: #c8dce4;
    font-size: 0.63rem;
    line-height: 1.45;
  }

  #rk-sp-guide .rk-sp-diagram-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 28px 0;
  }

  #rk-sp-guide .rk-sp-diagram {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--rk-sp-line);
    border-radius: 19px;
    background: var(--rk-sp-soft);
  }

  #rk-sp-guide .rk-sp-diagram svg {
    display: block;
    width: 100%;
    height: auto;
  }

  #rk-sp-guide .rk-sp-diagram figcaption {
    margin-top: 13px;
    color: var(--rk-sp-muted);
    font-size: 0.68rem;
    line-height: 1.55;
  }

  #rk-sp-guide .rk-sp-checklist {
    display: grid;
    gap: 12px;
    margin: 24px 0;
    padding: 0;
    counter-reset: rk-sp-check;
    list-style: none;
  }

  #rk-sp-guide .rk-sp-checklist li {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 18px;
    border: 1px solid var(--rk-sp-line);
    border-radius: 16px;
    background: var(--rk-sp-white);
    counter-increment: rk-sp-check;
  }

  #rk-sp-guide .rk-sp-checklist li::before {
    content: counter(rk-sp-check, decimal-leading-zero);
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: var(--rk-sp-white);
    background: var(--rk-sp-dark);
    font-size: 0.67rem;
    font-weight: 900;
  }

  #rk-sp-guide .rk-sp-checklist strong,
  #rk-sp-guide .rk-sp-checklist span {
    display: block;
  }

  #rk-sp-guide .rk-sp-checklist span {
    margin-top: 4px;
    color: var(--rk-sp-text);
    font-size: 0.78rem;
    line-height: 1.55;
  }

  #rk-sp-guide .rk-sp-faq {
    display: grid;
    gap: 12px;
  }

  #rk-sp-guide .rk-sp-faq details {
    border: 1px solid var(--rk-sp-line);
    border-radius: 16px;
    background: var(--rk-sp-white);
  }

  #rk-sp-guide .rk-sp-faq summary {
    position: relative;
    padding: 19px 54px 19px 20px;
    color: var(--rk-sp-dark);
    cursor: pointer;
    font-size: 0.86rem;
    font-weight: 850;
    line-height: 1.45;
    list-style: none;
  }

  #rk-sp-guide .rk-sp-faq summary::-webkit-details-marker {
    display: none;
  }

  #rk-sp-guide .rk-sp-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 18px;
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: var(--rk-sp-white);
    background: var(--rk-sp-dark);
    font-size: 1rem;
    transform: translateY(-50%);
  }

  #rk-sp-guide .rk-sp-faq details[open] summary::after {
    content: "−";
    background: var(--rk-sp-orange);
  }

  #rk-sp-guide .rk-sp-faq-answer {
    padding: 0 20px 20px;
  }

  #rk-sp-guide .rk-sp-faq-answer p:last-child {
    margin-bottom: 0;
  }

  #rk-sp-guide .rk-sp-cta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin: 46px 0;
    padding: clamp(26px, 5vw, 42px);
    border-radius: 23px;
    color: var(--rk-sp-white);
    background:
      radial-gradient(circle at 92% 18%, rgba(255, 106, 42, 0.3), transparent 30%),
      linear-gradient(135deg, var(--rk-sp-dark), #173f55);
  }

  #rk-sp-guide .rk-sp-cta h3,
  #rk-sp-guide .rk-sp-cta p,
  #rk-sp-guide .rk-sp-cta strong {
    color: var(--rk-sp-white);
  }

  #rk-sp-guide .rk-sp-cta p {
    margin-bottom: 0;
    color: #d7e7ec;
  }

  #rk-sp-guide .rk-sp-cta-actions {
    display: grid;
    gap: 9px;
    min-width: 0;
  }

  #rk-sp-guide .rk-sp-button {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    padding: 13px 18px;
    border-radius: 13px;
    color: var(--rk-sp-white);
    background: linear-gradient(145deg, var(--rk-sp-orange), var(--rk-sp-red));
    box-shadow: 0 12px 26px rgba(227, 61, 53, 0.22);
    font-size: 0.8rem;
    font-weight: 900;
    text-align: center;
    text-decoration: none;
  }

  #rk-sp-guide .rk-sp-button:hover,
  #rk-sp-guide .rk-sp-button:focus-visible {
    color: var(--rk-sp-white);
    transform: translateY(-1px);
  }

  #rk-sp-guide .rk-sp-cta small {
    color: #afc8d1;
    font-size: 0.66rem;
    line-height: 1.45;
    text-align: center;
  }

  #rk-sp-guide .rk-sp-sources {
    margin-top: 44px;
    padding: 23px;
    border: 1px solid var(--rk-sp-line);
    border-radius: 17px;
    background: var(--rk-sp-soft);
    color: var(--rk-sp-muted);
    font-size: 0.69rem;
    line-height: 1.65;
  }

  #rk-sp-guide .rk-sp-sources strong {
    display: block;
    margin-bottom: 8px;
  }

  #rk-sp-guide .rk-sp-author-box {
    overflow: hidden;
    margin-top: 52px;
    border: 1px solid #cfe1e9;
    border-radius: 25px;
    background: var(--rk-sp-white);
    box-shadow: 0 20px 52px rgba(16, 37, 54, 0.09);
  }

  #rk-sp-guide .rk-sp-author-box,
  #rk-sp-guide .rk-sp-author-box * {
    box-sizing: border-box;
  }

  #rk-sp-guide .rk-sp-author-box h2::before,
  #rk-sp-guide .rk-sp-author-box h2::after,
  #rk-sp-guide .rk-sp-author-box h3::before,
  #rk-sp-guide .rk-sp-author-box h3::after,
  #rk-sp-guide .rk-sp-author-box p::before,
  #rk-sp-guide .rk-sp-author-box p::after,
  #rk-sp-guide .rk-sp-author-box a::before,
  #rk-sp-guide .rk-sp-author-box a::after,
  #rk-sp-guide .rk-sp-author-box button::before,
  #rk-sp-guide .rk-sp-author-box button::after {
    content: none !important;
    display: none !important;
  }

  #rk-sp-guide .rk-sp-author-head {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    padding: clamp(24px, 4vw, 38px);
    border-bottom: 5px solid var(--rk-sp-cyan);
    color: var(--rk-sp-white);
    background: linear-gradient(135deg, var(--rk-sp-dark), #17465c);
  }

  #rk-sp-guide .rk-sp-author-head h2 {
    margin-bottom: 6px;
    color: var(--rk-sp-white);
    font-size: clamp(1.55rem, 3.5vw, 2.45rem);
  }

  #rk-sp-guide .rk-sp-author-head p {
    margin: 0;
    color: #d7e9ef;
    font-size: 0.8rem;
  }

  #rk-sp-guide .rk-sp-author-badge {
    flex: 0 0 auto;
    padding: 10px 15px;
    border: 1px solid rgba(40, 201, 218, 0.45);
    border-radius: 13px;
    color: #7cebf2;
    background: rgba(40, 201, 218, 0.08);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
  }

  #rk-sp-guide .rk-sp-author-layout {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
  }

  #rk-sp-guide .rk-sp-author-profile {
    padding: 32px;
    border-right: 1px solid var(--rk-sp-line);
    background: var(--rk-sp-soft);
    text-align: center;
  }

  #rk-sp-guide .rk-sp-author-photo {
    display: block;
    width: 148px;
    height: 148px;
    margin: 0 auto 19px;
    border: 5px solid var(--rk-sp-white);
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 16px 32px rgba(16, 37, 54, 0.15);
  }

  #rk-sp-guide .rk-sp-author-name {
    margin-bottom: 7px;
    font-size: 1.28rem;
  }

  #rk-sp-guide .rk-sp-author-role {
    display: block;
    color: var(--rk-sp-blue);
    font-size: 0.71rem;
    font-weight: 900;
    letter-spacing: 0.055em;
    line-height: 1.55;
    text-transform: uppercase;
  }

  #rk-sp-guide .rk-sp-author-links {
    display: grid;
    gap: 8px;
    margin-top: 22px;
  }

  #rk-sp-guide .rk-sp-author-link {
    display: flex;
    min-height: 43px;
    align-items: center;
    justify-content: center;
    padding: 9px 12px;
    border: 1px solid #cadde5;
    border-radius: 11px;
    color: var(--rk-sp-dark);
    background: var(--rk-sp-white);
    font-size: 0.72rem;
    font-weight: 850;
    text-decoration: none;
  }

  #rk-sp-guide .rk-sp-author-link:hover,
  #rk-sp-guide .rk-sp-author-link:focus-visible {
    border-color: var(--rk-sp-cyan);
    color: var(--rk-sp-blue);
  }

  #rk-sp-guide .rk-sp-author-main {
    min-width: 0;
  }

  #rk-sp-guide .rk-sp-author-quote {
    position: relative;
    margin: 0;
    padding: clamp(30px, 5vw, 52px);
    border-bottom: 1px solid var(--rk-sp-line);
  }

  #rk-sp-guide .rk-sp-author-quote-mark {
    display: block;
    height: 38px;
    color: var(--rk-sp-cyan);
    font-family: Georgia, serif;
    font-size: 3.8rem;
    font-weight: 900;
    line-height: 0.9;
  }

  #rk-sp-guide .rk-sp-author-quote p {
    margin: 8px 0 0;
    color: var(--rk-sp-dark);
    font-size: clamp(1rem, 2vw, 1.22rem);
    font-style: italic;
    font-weight: 760;
    line-height: 1.72;
  }

  #rk-sp-guide .rk-sp-author-quote footer {
    margin-top: 14px;
    color: var(--rk-sp-muted);
    font-size: 0.69rem;
    font-weight: 820;
  }

  #rk-sp-guide .rk-sp-author-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-bottom: 1px solid var(--rk-sp-line);
    background: var(--rk-sp-soft);
  }

  #rk-sp-guide .rk-sp-author-tab {
    min-height: 53px;
    padding: 11px;
    border: 0;
    border-right: 1px solid var(--rk-sp-line);
    color: var(--rk-sp-muted);
    background: transparent;
    cursor: pointer;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.035em;
    text-transform: uppercase;
  }

  #rk-sp-guide .rk-sp-author-tab:last-child {
    border-right: 0;
  }

  #rk-sp-guide .rk-sp-author-tab:hover,
  #rk-sp-guide .rk-sp-author-tab:focus-visible {
    color: var(--rk-sp-blue);
    background: var(--rk-sp-cyan-soft);
  }

  #rk-sp-guide .rk-sp-author-tab[aria-selected="true"] {
    color: var(--rk-sp-blue);
    background: var(--rk-sp-white);
    box-shadow: inset 0 -4px 0 var(--rk-sp-blue);
  }

  #rk-sp-guide .rk-sp-author-panels {
    padding: clamp(25px, 4vw, 40px);
  }

  #rk-sp-guide .rk-sp-author-panel[hidden] {
    display: none;
  }

  #rk-sp-guide .rk-sp-author-panel p:last-child {
    margin-bottom: 0;
  }

  #rk-sp-guide .rk-sp-portal-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
  }

  #rk-sp-guide .rk-sp-portal-list a {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border: 1px solid var(--rk-sp-line);
    border-radius: 12px;
    color: var(--rk-sp-dark);
    background: var(--rk-sp-soft);
    font-size: 0.72rem;
    font-weight: 900;
    text-align: center;
    text-decoration: none;
  }

  #rk-sp-guide .rk-sp-disclaimer {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid var(--rk-sp-line);
    color: var(--rk-sp-muted);
    font-size: 0.69rem;
    line-height: 1.65;
  }

  #rk-sp-guide .rk-sp-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  @media (prefers-reduced-motion: reduce) {
    #rk-sp-guide .rk-sp-eff-bar {
      transition: none;
    }
  }

  @media (max-width: 940px) {
    #rk-sp-guide .rk-sp-nav {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-sp-guide .rk-sp-verdict {
      grid-template-columns: 1fr;
    }

    #rk-sp-guide .rk-sp-verdict-number {
      justify-self: start;
    }

    #rk-sp-guide .rk-sp-grid-4 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-sp-guide .rk-sp-grid-3,
    #rk-sp-guide .rk-sp-controls {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-sp-guide .rk-sp-author-layout {
      grid-template-columns: 240px minmax(0, 1fr);
    }

    #rk-sp-guide .rk-sp-author-profile {
      padding: 26px 20px;
    }
  }

  @media (max-width: 720px) {
    #rk-sp-guide {
      margin: 18px auto 46px;
      font-size: 16px;
    }

    #rk-sp-guide .rk-sp-shell {
      border-radius: 21px;
    }

    #rk-sp-guide .rk-sp-hero,
    #rk-sp-guide .rk-sp-content {
      padding: 27px 20px;
    }

    #rk-sp-guide .rk-sp-nav {
      grid-template-columns: 1fr;
      padding: 18px;
    }

    #rk-sp-guide .rk-sp-formulas,
    #rk-sp-guide .rk-sp-grid-4,
    #rk-sp-guide .rk-sp-grid-3,
    #rk-sp-guide .rk-sp-grid-2,
    #rk-sp-guide .rk-sp-controls,
    #rk-sp-guide .rk-sp-results,
    #rk-sp-guide .rk-sp-diagram-grid,
    #rk-sp-guide .rk-sp-equation-grid {
      grid-template-columns: 1fr;
    }

    #rk-sp-guide .rk-sp-card,
    #rk-sp-guide .rk-sp-result,
    #rk-sp-guide .rk-sp-chart-panel {
      padding: 18px;
    }

    #rk-sp-guide .rk-sp-table,
    #rk-sp-guide .rk-sp-table tbody,
    #rk-sp-guide .rk-sp-table tr,
    #rk-sp-guide .rk-sp-table td {
      display: block;
      width: 100%;
    }

    #rk-sp-guide .rk-sp-table {
      border: 0;
      background: transparent;
    }

    #rk-sp-guide .rk-sp-table thead {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
    }

    #rk-sp-guide .rk-sp-table tr {
      margin-bottom: 14px;
      padding: 9px 15px;
      border: 1px solid var(--rk-sp-line);
      border-radius: 16px;
      background: var(--rk-sp-white);
      box-shadow: 0 8px 22px rgba(16, 37, 54, 0.05);
    }

    #rk-sp-guide .rk-sp-table td {
      display: grid;
      grid-template-columns: minmax(105px, 0.8fr) minmax(0, 1.2fr);
      gap: 12px;
      padding: 10px 0;
      border-bottom: 1px solid var(--rk-sp-line);
    }

    #rk-sp-guide .rk-sp-table td::before {
      content: attr(data-label);
      color: var(--rk-sp-dark);
      font-size: 0.64rem;
      font-weight: 900;
      letter-spacing: 0.02em;
      line-height: 1.45;
      text-transform: uppercase;
    }

    #rk-sp-guide .rk-sp-table tr:last-child td,
    #rk-sp-guide .rk-sp-table td:last-child {
      border-bottom: 0;
    }

    #rk-sp-guide .rk-sp-eff-row {
      grid-template-columns: 66px minmax(0, 1fr);
    }

    #rk-sp-guide .rk-sp-eff-value {
      grid-column: 1 / -1;
      margin-top: -6px;
      text-align: left;
    }

    #rk-sp-guide .rk-sp-author-head {
      display: block;
    }

    #rk-sp-guide .rk-sp-author-badge {
      display: inline-block;
      margin-top: 14px;
    }

    #rk-sp-guide .rk-sp-author-layout {
      grid-template-columns: 1fr;
    }

    #rk-sp-guide .rk-sp-author-profile {
      border-right: 0;
      border-bottom: 1px solid var(--rk-sp-line);
    }

    #rk-sp-guide .rk-sp-author-tabs {
      grid-template-columns: 1fr;
    }

    #rk-sp-guide .rk-sp-author-tab,
    #rk-sp-guide .rk-sp-author-tab:last-child {
      border-right: 0;
      border-bottom: 1px solid var(--rk-sp-line);
    }

    #rk-sp-guide .rk-sp-author-tab:last-child {
      border-bottom: 0;
    }

    #rk-sp-guide .rk-sp-author-tab[aria-selected="true"] {
      box-shadow: inset 4px 0 0 var(--rk-sp-blue);
    }

    #rk-sp-guide .rk-sp-portal-list {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 430px) {
    #rk-sp-guide .rk-sp-hero,
    #rk-sp-guide .rk-sp-content {
      padding-right: 16px;
      padding-left: 16px;
    }

    #rk-sp-guide .rk-sp-result-values {
      grid-template-columns: 1fr;
    }

    #rk-sp-guide .rk-sp-table td {
      grid-template-columns: 1fr;
      gap: 3px;
    }

    #rk-sp-guide .rk-sp-author-strip {
      align-items: flex-start;
    }

    #rk-sp-guide .rk-sp-cta {
      padding: 24px 18px;
    }
  }
</style>

<article id="rk-sp-guide" itemscope="" itemtype="https://schema.org/TechArticle">
  <div class="rk-sp-shell">
    <div class="rk-sp-progress-track" aria-hidden="true"><div class="rk-sp-progress"></div></div>

    <header class="rk-sp-hero">
      <div class="rk-sp-badge"><span class="rk-sp-badge-dot" aria-hidden="true"></span>Analiza techniczna • pompa ciepła</div>
      <h2 itemprop="alternativeHeadline">Rozstaw rur ogrzewania podłogowego przy pompie ciepła – <span>5, 10, 15 czy 20 cm?</span></h2>

      <div class="rk-sp-hook">
        <p><strong>Rozstaw rur nie jest ustawieniem wybieranym z katalogu.</strong> Decyduje, czy pomieszczenie otrzyma potrzebną moc przy wodzie o temperaturze korzystnej dla pompy ciepła, czy instalacja będzie wymagała podnoszenia temperatury zasilania.</p>
      </div>

      <p class="rk-sp-hero-lead">W poradniku porównuję cztery rozstawy, pokazuję zużycie rury, przepływy i opory hydrauliczne oraz udostępniam interaktywny przykład: ten sam pokój, ta sama strata ciepła, ale cztery różne warianty ułożenia rur.</p>

      <div class="rk-sp-hero-meta" aria-label="Informacje o opracowaniu">
        <span><i aria-hidden="true"></i>Autor: Robert Kucharski</span>
        <span><i aria-hidden="true"></i>Pierwotna publikacja: 3 marca 2025 r.</span>
        <span><i aria-hidden="true"></i>Aktualizacja: 22 sierpnia 2026 r.</span>
      </div>

      <div class="rk-sp-author-strip">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski – projektant instalacji sanitarnych" width="58" height="58" loading="eager">
        <div>
          <b>Robert Kucharski</b>
          <small>Projektant instalacji sanitarnych • HVAC • ogrzewanie podłogowe • obliczenia hydrauliczne</small>
        </div>
      </div>
    </header>

    <nav class="rk-sp-nav" aria-label="Spis treści artykułu">
      <a href="#rk-sp-zasada"><span class="rk-sp-nav-num">01</span>Dlaczego rozstaw jest ważny?</a>
      <a href="#rk-sp-porownanie"><span class="rk-sp-nav-num">02</span>Porównanie 5–20 cm</a>
      <a href="#rk-sp-kalkulator"><span class="rk-sp-nav-num">03</span>Interaktywny przykład</a>
      <a href="#rk-sp-wykres"><span class="rk-sp-nav-num">04</span>Moc i temperatura wody</a>
      <a href="#rk-sp-hydraulika"><span class="rk-sp-nav-num">05</span>Przepływ i opory</a>
      <a href="#rk-sp-strefy"><span class="rk-sp-nav-num">06</span>Łazienki i przeszklenia</a>
      <a href="#rk-sp-schematy"><span class="rk-sp-nav-num">07</span>Przekrój i układ pętli</a>
      <a href="#rk-sp-dobor"><span class="rk-sp-nav-num">08</span>Procedura doboru</a>
      <a href="#rk-sp-faq"><span class="rk-sp-nav-num">09</span>FAQ</a>
    </nav>

    <div class="rk-sp-content" itemprop="articleBody">
      <section class="rk-sp-section" id="rk-sp-zasada" aria-labelledby="rk-sp-h-zasada">
        <div class="rk-sp-section-head">
          <span class="rk-sp-eyebrow">Najpierw obciążenie cieplne, później rozstaw</span>
          <h2 id="rk-sp-h-zasada">Dlaczego rozstaw rur ogrzewania podłogowego przy pompie ciepła ma tak duże znaczenie?</h2>
        </div>

        <p class="rk-sp-lead rk-sp-dropcap">Pompa ciepła nie potrzebuje „zawsze 10 cm”. Potrzebuje instalacji zdolnej przekazać projektową moc przy możliwie niskiej temperaturze wody. Punktem wyjścia jest obciążenie cieplne konkretnego pomieszczenia, a nie rodzaj źródła ciepła zapisany na tabliczce urządzenia.</p>

        <p>Jeżeli salon traci obliczeniowo 900 W, a aktywna powierzchnia grzewcza wynosi 20 m², podłoga musi przekazać średnio 45 W/m². Tę samą moc można próbować uzyskać przy rozstawie 10, 15 albo 20 cm, lecz każdy wariant będzie wymagał innej średniej temperatury wody i da inny rozkład temperatury na powierzchni. Dlatego poprawny projekt zaczyna się od obciążenia cieplnego zgodnego z metodą EN 12831, następnie przechodzi przez obliczenia wydajności powierzchni według EN 1264, a dopiero później ustala rozstaw i przepływ.</p>

        <div class="rk-sp-verdict">
          <div>
            <span class="rk-sp-eyebrow">Najważniejszy wniosek</span>
            <h3>Gęstszy rozstaw nie oszczędza energii sam z siebie.</h3>
            <p>Może jednak pozwolić przekazać wymaganą moc przy niższej temperaturze zasilania. Mniejsza różnica temperatur między źródłem dolnym a instalacją grzewczą tworzy lepsze warunki termodynamiczne dla pompy ciepła.</p>
          </div>
          <div class="rk-sp-verdict-number" aria-label="Typowy cel temperatury zasilania dla instalacji niskotemperaturowej">
            <b>30–35°C</b>
            <small>częsty zakres projektowy, ale nie uniwersalna gwarancja</small>
          </div>
        </div>

        <div class="rk-sp-formulas">
          <div class="rk-sp-formula">
            <h3>Wymagana moc jednostkowa</h3>
            <span class="rk-sp-formula-code">q<sub>req</sub> = Φ<sub>HL</sub> / A<sub>H</sub></span>
            <small>q<sub>req</sub> — wymagany strumień ciepła [W/m²], Φ<sub>HL</sub> — projektowe obciążenie pomieszczenia [W], A<sub>H</sub> — aktywna powierzchnia podłogi [m²].</small>
          </div>
          <div class="rk-sp-formula">
            <h3>Średnia różnica temperatur</h3>
            <span class="rk-sp-formula-code">Δθ<sub>H</sub> = (θ<sub>V</sub> − θ<sub>R</sub>) / ln[(θ<sub>V</sub> − θ<sub>i</sub>)/(θ<sub>R</sub> − θ<sub>i</sub>)]</span>
            <small>W obliczeniach powierzchni grzewczej liczy się temperatura zasilania, powrotu i pomieszczenia, a nie samo hasło „zasilanie 35°C”.</small>
          </div>
        </div>

        <p>Więcej o granicach temperatury wody opisuję w analizie <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalnej temperatury zasilania podłogówki</a>, natomiast metodykę cieplną rozwija opracowanie dotyczące <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">normy PN-EN 1264</a>.</p>
      </section>

      <section class="rk-sp-section" id="rk-sp-porownanie" aria-labelledby="rk-sp-h-porownanie">
        <div class="rk-sp-section-head">
          <span class="rk-sp-eyebrow">Cztery rozstawy, cztery różne konsekwencje</span>
          <h2 id="rk-sp-h-porownanie">Techniczne porównanie rozstawów rur 5, 10, 15 i 20 cm</h2>
          <p>Żaden z poniższych rozstawów nie jest automatycznie dobry albo zły. Ocenie podlegają równocześnie moc cieplna, temperatura powierzchni, temperatura wody, długość pętli i opór hydrauliczny.</p>
        </div>

        <div class="rk-sp-grid-4">
          <article class="rk-sp-card rk-sp-special">
            <span class="rk-sp-pitch">5 cm</span>
            <h3>Rozstaw specjalny</h3>
            <p>Największe zagęszczenie rur, ale również największe zużycie materiału i liczba obwodów.</p>
            <ul class="rk-sp-mini-list">
              <li><span aria-hidden="true"></span><span>około 21 m rury na 1 m² z zapasem trasowym 5%</span></li>
              <li><span aria-hidden="true"></span><span>strefy brzegowe i małe powierzchnie o dużym obciążeniu</span></li>
              <li><span aria-hidden="true"></span><span>konieczna kontrola promienia gięcia i długości pętli</span></li>
            </ul>
          </article>

          <article class="rk-sp-card rk-sp-recommended">
            <span class="rk-sp-pitch">10 cm</span>
            <h3>Rozstaw gęsty</h3>
            <p>Częsty wybór dla instalacji niskotemperaturowych, ale nadal powinien wynikać z obliczeń.</p>
            <ul class="rk-sp-mini-list">
              <li><span aria-hidden="true"></span><span>około 10,5 m rury na 1 m²</span></li>
              <li><span aria-hidden="true"></span><span>niższa wymagana temperatura wody niż przy 15–20 cm</span></li>
              <li><span aria-hidden="true"></span><span>większa liczba pętli i sekcji rozdzielacza</span></li>
            </ul>
          </article>

          <article class="rk-sp-card">
            <span class="rk-sp-pitch">15 cm</span>
            <h3>Rozstaw pośredni</h3>
            <p>Może być poprawny w dobrze izolowanych pomieszczeniach o umiarkowanym obciążeniu cieplnym.</p>
            <ul class="rk-sp-mini-list">
              <li><span aria-hidden="true"></span><span>około 7,0 m rury na 1 m²</span></li>
              <li><span aria-hidden="true"></span><span>mniejszy koszt materiału i mniej pętli</span></li>
              <li><span aria-hidden="true"></span><span>wymaga sprawdzenia mocy przy wybranej okładzinie</span></li>
            </ul>
          </article>

          <article class="rk-sp-card rk-sp-caution">
            <span class="rk-sp-pitch">20 cm</span>
            <h3>Rozstaw rzadki</h3>
            <p>Nie jest zakazany, lecz ma mniejszą rezerwę mocy i większe różnice temperatury powierzchni.</p>
            <ul class="rk-sp-mini-list">
              <li><span aria-hidden="true"></span><span>około 5,25 m rury na 1 m²</span></li>
              <li><span aria-hidden="true"></span><span>tylko dla niskiego obciążenia potwierdzonego obliczeniami</span></li>
              <li><span aria-hidden="true"></span><span>ryzyko potrzeby podniesienia temperatury zasilania</span></li>
            </ul>
          </article>
        </div>

        <div class="rk-sp-table-wrap">
          <table class="rk-sp-table">
            <thead>
              <tr>
                <th scope="col">Rozstaw</th>
                <th scope="col">Geometria rury</th>
                <th scope="col">Z zapasem 5%</th>
                <th scope="col">Wpływ na temperaturę wody</th>
                <th scope="col">Najczęstsze zastosowanie</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td data-label="Rozstaw"><strong>5 cm</strong></td>
                <td data-label="Geometria rury">20,0 m/m²</td>
                <td data-label="Z zapasem 5%">21,0 m/m²</td>
                <td data-label="Temperatura wody">najniższa z porównywanych</td>
                <td data-label="Zastosowanie">strefa specjalna, brzegowa, mała aktywna powierzchnia</td>
              </tr>
              <tr>
                <td data-label="Rozstaw"><strong>10 cm</strong></td>
                <td data-label="Geometria rury">10,0 m/m²</td>
                <td data-label="Z zapasem 5%">10,5 m/m²</td>
                <td data-label="Temperatura wody">niska przy typowych obciążeniach</td>
                <td data-label="Zastosowanie">łazienki, panele o wyższym oporze, strefy obciążone</td>
              </tr>
              <tr>
                <td data-label="Rozstaw"><strong>15 cm</strong></td>
                <td data-label="Geometria rury">6,67 m/m²</td>
                <td data-label="Z zapasem 5%">7,0 m/m²</td>
                <td data-label="Temperatura wody">umiarkowana, zależna od okładziny</td>
                <td data-label="Zastosowanie">dobrze izolowane pokoje o małych stratach</td>
              </tr>
              <tr>
                <td data-label="Rozstaw"><strong>20 cm</strong></td>
                <td data-label="Geometria rury">5,0 m/m²</td>
                <td data-label="Z zapasem 5%">5,25 m/m²</td>
                <td data-label="Temperatura wody">najwyższa z porównywanych</td>
                <td data-label="Zastosowanie">pomieszczenia o bardzo niskim obciążeniu, po weryfikacji</td>
              </tr>
            </tbody>
          </table>
        </div>

        <div class="rk-sp-note rk-sp-note-warn">
          <p><strong>Skąd wartości metrów rury?</strong> Dla regularnego pola grzewczego długość geometryczna wynosi w przybliżeniu 1/s, gdzie s jest rozstawem w metrach. Zapas 5% uwzględnia łuki i niedoskonałość geometrii, ale nie obejmuje doprowadzeń od rozdzielacza. Szczegółowe wyjaśnienie zawiera poradnik <a href="https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/">ile rury potrzeba na 1 m² ogrzewania podłogowego</a>.</p>
        </div>
      </section>

      <section class="rk-sp-section" id="rk-sp-kalkulator" aria-labelledby="rk-sp-h-kalkulator">
        <div class="rk-sp-section-head">
          <span class="rk-sp-eyebrow">Ten sam pokój, cztery warianty</span>
          <h2 id="rk-sp-h-kalkulator">Interaktywny przykład: dlaczego rozstaw rur przy pompie ciepła jest tak ważny?</h2>
          <p>Ustaw parametry pomieszczenia. Narzędzie porówna jednocześnie rozstawy 5, 10, 15 i 20 cm, aby pokazać kompromis między temperaturą wody, długością rury, liczbą obwodów i hydrauliką.</p>
        </div>

        <div class="rk-sp-lab" aria-label="Interaktywny model porównawczy rozstawu rur">
          <div class="rk-sp-lab-head">
            <h3>Model porównawczy dla rury 16×2 mm</h3>
            <p>Założenie bazowe: mokry system podłogowy, typowa wylewka, woda jako czynnik grzewczy. Obliczenia mają charakter edukacyjny i nie zastępują projektu zgodnego z EN 1264.</p>
          </div>

          <div class="rk-sp-lab-body">
            <div class="rk-sp-controls">
              <div class="rk-sp-control">
                <label for="rk-sp-area">Aktywna powierzchnia <output id="rk-sp-area-out" for="rk-sp-area">20 m²</output></label>
                <input id="rk-sp-area" type="range" min="6" max="50" step="1" value="20">
                <small>Powierzchnia rzeczywiście pokryta rurami, bez stałej zabudowy.</small>
              </div>

              <div class="rk-sp-control">
                <label for="rk-sp-load">Obciążenie jednostkowe <output id="rk-sp-load-out" for="rk-sp-load">50 W/m²</output></label>
                <input id="rk-sp-load" type="range" min="20" max="100" step="5" value="50">
                <small>Projektowa strata ciepła podzielona przez aktywną powierzchnię.</small>
              </div>

              <div class="rk-sp-control">
                <label for="rk-sp-floor">Opór okładziny podłogowej</label>
                <select id="rk-sp-floor">
                  <option value="0.01">Płytki / kamień — R 0,01</option>
                  <option value="0.05">Winyl / cienka okładzina — R 0,05</option>
                  <option value="0.10" selected="">Panele / drewno — R 0,10</option>
                  <option value="0.15">Okładzina graniczna — R 0,15</option>
                </select>
                <small>R<sub>λ,B</sub> w m²K/W. Do projektu wpisuje się wartość konkretnego produktu.</small>
              </div>

              <div class="rk-sp-control">
                <label for="rk-sp-zone">Rodzaj strefy</label>
                <select id="rk-sp-zone">
                  <option value="20|29" selected="">Pokój — 20°C / podłoga maks. 29°C</option>
                  <option value="24|33">Łazienka — 24°C / podłoga maks. 33°C</option>
                  <option value="20|35">Strefa brzegowa — 20°C / podłoga maks. 35°C</option>
                </select>
                <small>Temperatura pomieszczenia i orientacyjna granica temperatury powierzchni.</small>
              </div>

              <div class="rk-sp-control">
                <label for="rk-sp-delta">Spadek temperatury wody ΔT</label>
                <select id="rk-sp-delta">
                  <option value="3">3 K</option>
                  <option value="5" selected="">5 K</option>
                  <option value="7">7 K</option>
                </select>
                <small>Różnica między zasilaniem i powrotem wpływa na przepływ oraz średnią temperaturę wody.</small>
              </div>

              <div class="rk-sp-control">
                <label for="rk-sp-loop-max">Przyjęty limit długości pętli</label>
                <select id="rk-sp-loop-max">
                  <option value="80">80 m</option>
                  <option value="90" selected="">90 m</option>
                  <option value="100">100 m</option>
                </select>
                <small>To parametr modelu, nie uniwersalna wartość normowa.</small>
              </div>
            </div>

            <div class="rk-sp-live-summary" id="rk-sp-live-summary" aria-live="polite">Pomieszczenie 20 m² wymaga 1000 W mocy grzewczej, czyli 50 W/m².</div>

            <div class="rk-sp-results" id="rk-sp-results" aria-live="polite"></div>

            <div class="rk-sp-chart-panel" id="rk-sp-wykres">
              <h4>Moc podłogi a rozstaw rur i temperatura zasilania</h4>
              <p class="rk-sp-chart-caption">Wykres aktualizuje się po zmianie okładziny, rodzaju strefy i ΔT. Linia limitu powierzchni pokazuje, że brakującej mocy nie wolno zawsze „dobić” wyższą temperaturą.</p>
              <div class="rk-sp-chart-legend" aria-hidden="true">
                <span><i style="background:#28c9da"></i>30°C</span>
                <span><i style="background:#078fbe"></i>35°C</span>
                <span><i style="background:#ff7438"></i>40°C</span>
                <span><i style="background:#e33d35"></i>45°C</span>
                <span><i style="height:2px;background:#687986"></i>limit powierzchni</span>
              </div>
              <div id="rk-sp-power-chart"></div>
            </div>

            <div class="rk-sp-chart-panel">
              <h4>Wymagana temperatura zasilania i względny indeks warunków pracy pompy</h4>
              <p class="rk-sp-chart-caption">Indeks nie jest katalogowym COP. Porównuje wyłącznie wpływ wymaganego podniesienia temperatury przy tej samej temperaturze źródła 0°C; najlepszy wariant w bieżącym porównaniu otrzymuje 100%.</p>
              <div class="rk-sp-eff-list" id="rk-sp-eff-list" aria-live="polite"></div>
            </div>

            <div class="rk-sp-note">
              <p><strong>Jak czytać wynik?</strong> Najpierw sprawdź, czy moc mieści się w limicie temperatury powierzchni. Następnie oceń temperaturę zasilania, liczbę pętli i opór hydrauliczny. Najniższa temperatura wody nie zawsze oznacza najlepszy projekt, jeśli wymaga nieproporcjonalnej liczby obwodów i rozdzielaczy.</p>
            </div>
          </div>
        </div>
      </section>

      <section class="rk-sp-section" id="rk-sp-wplyw" aria-labelledby="rk-sp-h-wplyw">
        <div class="rk-sp-section-head">
          <span class="rk-sp-eyebrow">Temperatura podnoszenia decyduje o warunkach pracy</span>
          <h2 id="rk-sp-h-wplyw">Wpływ rozstawu rur na temperaturę zasilania i sprawność pompy ciepła</h2>
        </div>

        <p>W pompie ciepła sprężarka przenosi energię z niższego poziomu temperatury na wyższy. Im większa jest różnica między źródłem a temperaturą wymaganą przez instalację, tym trudniejsze są warunki pracy. Dlatego rozstaw rur wpływa na efektywność pośrednio: zmienia zdolność podłogi do przekazania mocy przy określonej temperaturze wody.</p>

        <div class="rk-sp-grid-3">
          <article class="rk-sp-card rk-sp-recommended">
            <span class="rk-sp-pitch">1</span>
            <h3>Gęstszy rozstaw</h3>
            <p>Zmniejsza opór przewodzenia między rurą a powierzchnią i ogranicza różnice temperatury na podłodze.</p>
          </article>
          <article class="rk-sp-card">
            <span class="rk-sp-pitch">2</span>
            <h3>Niższa temperatura wody</h3>
            <p>Ta sama moc może zostać oddana przy mniejszej średniej różnicy temperatur między wodą a pomieszczeniem.</p>
          </article>
          <article class="rk-sp-card rk-sp-special">
            <span class="rk-sp-pitch">3</span>
            <h3>Mniejszy skok temperatury</h3>
            <p>Pompa ciepła pracuje w korzystniejszych warunkach, ale rzeczywisty COP zależy także od temperatury zewnętrznej i konkretnego urządzenia.</p>
          </article>
        </div>

        <div class="rk-sp-note rk-sp-note-warn">
          <p><strong>Nie wpisuję sztywnego „2–3% COP na każdy stopień”.</strong> Taki skrót nie jest uniwersalny. Zmiana zależy od konstrukcji pompy, czynnika chłodniczego, temperatury źródła, modulacji, odszraniania i mapy pracy producenta. Wiarygodne porównanie kosztów wymaga danych urządzenia dla konkretnych punktów pracy.</p>
        </div>

        <p>Rozwinięcie tej zależności znajdziesz w artykule o tym, dlaczego <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">niska temperatura zasilania jest korzystna dla podłogówki z pompą ciepła</a>.</p>
      </section>

      <section class="rk-sp-section" id="rk-sp-hydraulika" aria-labelledby="rk-sp-h-hydraulika">
        <div class="rk-sp-section-head">
          <span class="rk-sp-eyebrow">Ciepło musi jeszcze przepłynąć przez instalację</span>
          <h2 id="rk-sp-h-hydraulika">Obliczenia przepływu, długości pętli i strat ciśnienia</h2>
          <p>Dobór cieplny i hydrauliczny są nierozłączne. Zagęszczenie rur zwiększa ich łączną długość, dlatego tę samą powierzchnię trzeba podzielić na większą liczbę pętli.</p>
        </div>

        <div class="rk-sp-equation">
          <h3>Trzy równania, które kontrolują projekt</h3>
          <div class="rk-sp-equation-grid">
            <div class="rk-sp-equation-card">
              <b>V̇ ≈ 0,86 · Φ / ΔT</b>
              <small>Przepływ objętościowy w l/h dla wody; Φ w W, ΔT w K.</small>
            </div>
            <div class="rk-sp-equation-card">
              <b>L ≈ A / s · 1,05</b>
              <small>Orientacyjna długość pola grzewczego; doprowadzenia liczy się oddzielnie.</small>
            </div>
            <div class="rk-sp-equation-card">
              <b>Δp = λ · L/D · ρv²/2</b>
              <small>Równanie Darcy’ego-Weisbacha dla straty liniowej rury.</small>
            </div>
          </div>
        </div>

        <p>Przepływ wynika z mocy przenoszonej przez pętlę i przyjętego spadku temperatury. Zbyt mały przepływ zwiększa różnicę między początkiem i końcem obwodu. Zbyt duży przepływ podnosi prędkość oraz opory. Dlatego rotametr nie służy do ustawiania „wszędzie 2 l/min”, lecz do realizacji wartości policzonych dla konkretnej pętli.</p>

        <div class="rk-sp-grid-2">
          <article class="rk-sp-card">
            <h3>Co obejmuje wynik interaktywny?</h3>
            <ul class="rk-sp-mini-list">
              <li><span aria-hidden="true"></span><span>łączną długość pola wraz z 5% zapasu geometrycznego</span></li>
              <li><span aria-hidden="true"></span><span>liczbę pętli wynikającą z przyjętego limitu długości</span></li>
              <li><span aria-hidden="true"></span><span>przepływ całkowity i średni przepływ jednej pętli</span></li>
              <li><span aria-hidden="true"></span><span>orientacyjną stratę rury 16×2 mm z rezerwą 15%</span></li>
            </ul>
          </article>
          <article class="rk-sp-card rk-sp-caution">
            <h3>Czego wynik nie obejmuje?</h3>
            <ul class="rk-sp-mini-list">
              <li><span aria-hidden="true"></span><span>oporów rozdzielacza, zaworów, rotametrów i przewodów zasilających</span></li>
              <li><span aria-hidden="true"></span><span>rzeczywistej długości doprowadzeń do każdego pomieszczenia</span></li>
              <li><span aria-hidden="true"></span><span>indywidualnej chropowatości, temperatury i dodatku glikolu</span></li>
              <li><span aria-hidden="true"></span><span>doboru pompy obiegowej i nastaw równoważących cały układ</span></li>
            </ul>
          </article>
        </div>

        <p>W praktycznym projekcie należy jeszcze porównać najbardziej niekorzystny obwód z dostępną wysokością podnoszenia. Osobno omawiam <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%CE%B4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">spadek temperatury ΔT</a>, dobór <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">średnicy rur ogrzewania podłogowego</a> oraz funkcję <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacza do podłogówki</a>.</p>
      </section>

      <section class="rk-sp-section" id="rk-sp-strefy" aria-labelledby="rk-sp-h-strefy">
        <div class="rk-sp-section-head">
          <span class="rk-sp-eyebrow">Jedna reguła nie obsłuży całego domu</span>
          <h2 id="rk-sp-h-strefy">Łazienki, strefy brzegowe i duże przeszklenia</h2>
          <p>Pomieszczenia różnią się temperaturą obliczeniową, aktywną powierzchnią i stratami przez przegrody. To dlatego jednolity rozstaw w całym budynku bywa rozwiązaniem wygodnym wykonawczo, lecz niekoniecznie poprawnym projektowo.</p>
        </div>

        <div class="rk-sp-grid-3">
          <article class="rk-sp-card rk-sp-recommended">
            <span class="rk-sp-pitch">Ł</span>
            <h3>Łazienka</h3>
            <p>Temperatura obliczeniowa jest zwykle wyższa, a aktywną powierzchnię ograniczają wanna, brodzik lub stała zabudowa. Rozstaw 10 cm jest częsty, ale 5 cm nie naprawi zbyt małej powierzchni ani przekroczenia dopuszczalnej temperatury podłogi.</p>
          </article>

          <article class="rk-sp-card rk-sp-special">
            <span class="rk-sp-pitch">B</span>
            <h3>Strefa brzegowa</h3>
            <p>Zagęszczenie rur w pasie przy przegrodzie zewnętrznej może ograniczyć spadek temperatury powierzchni. Szerokość i moc strefy powinny wynikać z rozkładu strat, a nie z automatycznego pasa „metr od okna”.</p>
          </article>

          <article class="rk-sp-card rk-sp-caution">
            <span class="rk-sp-pitch">G</span>
            <h3>Duże przeszklenie</h3>
            <p>Liczy się powierzchnia szyby, współczynnik U, temperatura zewnętrzna, szczelność i geometria pomieszczenia. Nowoczesne przeszklenie nie zawsze wymaga 5 cm, a słabe może wymagać dodatkowego emitera.</p>
          </article>
        </div>

        <div class="rk-sp-note">
          <p><strong>Strefa brzegowa powinna być policzona.</strong> Jeżeli ma inne obciążenie niż część wewnętrzna, można wydzielić ją osobnym obwodem albo odpowiednio poprowadzić zasilanie pętli. Więcej przykładów zawiera opracowanie o <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">strefie brzegowej w ogrzewaniu podłogowym</a>.</p>
        </div>
      </section>

      <section class="rk-sp-section" id="rk-sp-schematy" aria-labelledby="rk-sp-h-schematy">
        <div class="rk-sp-section-head">
          <span class="rk-sp-eyebrow">Schematy podporządkowane tematowi rozstawu</span>
          <h2 id="rk-sp-h-schematy">Co rozstaw zmienia w przekroju podłogi i układzie pętli?</h2>
          <p>Przekrój nie służy tu do opisywania wszystkich warstw budowlanych. Pokazuje wyłącznie drogę ciepła od rury do pomieszczenia oraz miejsce, w którym opór okładziny i odległość między rurami wpływają na wynik.</p>
        </div>

        <div class="rk-sp-diagram-grid">
          <figure class="rk-sp-diagram">
            <svg viewBox="0 0 520 330" role="img" aria-labelledby="rk-sp-cross-title rk-sp-cross-desc">
              <title id="rk-sp-cross-title">Przekrój ogrzewanej podłogi i droga przepływu ciepła</title>
              <desc id="rk-sp-cross-desc">Dwie rury w warstwie jastrychu, okładzina podłogowa nad nimi oraz strzałki przepływu ciepła do pomieszczenia.</desc>
              <rect x="20" y="35" width="480" height="54" rx="8" fill="#eafcff" stroke="#078fbe" stroke-width="2"></rect>
              <text x="260" y="67" text-anchor="middle" fill="#14384d" font-size="18" font-weight="800">okładzina i jej opór Rλ,B</text>
              <rect x="20" y="90" width="480" height="150" fill="#e8edf0" stroke="#b5c6ce" stroke-width="2"></rect>
              <text x="260" y="120" text-anchor="middle" fill="#465866" font-size="16" font-weight="700">jastrych — rozprowadzenie ciepła</text>
              <circle cx="155" cy="190" r="28" fill="#ff7438" stroke="#e33d35" stroke-width="6"></circle>
              <circle cx="365" cy="190" r="28" fill="#ff7438" stroke="#e33d35" stroke-width="6"></circle>
              <path d="M155 158 C145 125 135 112 125 96" fill="none" stroke="#078fbe" stroke-width="5" stroke-linecap="round"></path>
              <path d="M365 158 C375 125 385 112 395 96" fill="none" stroke="#078fbe" stroke-width="5" stroke-linecap="round"></path>
              <path d="M220 190 H300" stroke="#102536" stroke-width="3"></path>
              <path d="M220 181 V199 M300 181 V199" stroke="#102536" stroke-width="3"></path>
              <text x="260" y="178" text-anchor="middle" fill="#102536" font-size="17" font-weight="900">rozstaw T</text>
              <rect x="20" y="241" width="480" height="55" rx="0 0 8 8" fill="#dce8ee" stroke="#b5c6ce" stroke-width="2"></rect>
              <text x="260" y="274" text-anchor="middle" fill="#465866" font-size="16" font-weight="700">izolacja ograniczająca strumień w dół</text>
            </svg>
            <figcaption>Większy rozstaw wydłuża boczną drogę przewodzenia ciepła i zwiększa różnice temperatury na powierzchni. Okładzina o większym oporze dodatkowo ogranicza strumień do pomieszczenia.</figcaption>
          </figure>

          <figure class="rk-sp-diagram">
            <svg viewBox="0 0 520 330" role="img" aria-labelledby="rk-sp-loop-title rk-sp-loop-desc">
              <title id="rk-sp-loop-title">Porównanie pola rur przy rozstawie 10 i 20 cm</title>
              <desc id="rk-sp-loop-desc">Dwa pola o tej samej powierzchni. Po lewej więcej linii rur w rozstawie 10 cm, po prawej mniej linii w rozstawie 20 cm.</desc>
              <rect x="18" y="36" width="226" height="250" rx="14" fill="#f5f9fb" stroke="#28c9da" stroke-width="3"></rect>
              <rect x="276" y="36" width="226" height="250" rx="14" fill="#fff4ed" stroke="#ff7438" stroke-width="3"></rect>
              <text x="131" y="68" text-anchor="middle" fill="#102536" font-size="19" font-weight="900">10 cm</text>
              <text x="389" y="68" text-anchor="middle" fill="#102536" font-size="19" font-weight="900">20 cm</text>
              <path d="M50 92 H212 V116 H50 V140 H212 V164 H50 V188 H212 V212 H50 V236 H212 V260 H50" fill="none" stroke="#078fbe" stroke-width="8" stroke-linejoin="round" stroke-linecap="round"></path>
              <path d="M308 100 H470 V150 H308 V200 H470 V250 H308" fill="none" stroke="#e33d35" stroke-width="8" stroke-linejoin="round" stroke-linecap="round"></path>
              <text x="131" y="310" text-anchor="middle" fill="#465866" font-size="15" font-weight="700">więcej rury i pętli</text>
              <text x="389" y="310" text-anchor="middle" fill="#465866" font-size="15" font-weight="700">mniejsza rezerwa mocy</text>
            </svg>
            <figcaption>Ta sama powierzchnia przy 10 cm zużywa około dwa razy więcej rury niż przy 20 cm. Projekt musi więc równocześnie dobrać liczbę pętli i sekcji rozdzielacza.</figcaption>
          </figure>
        </div>

        <p>Na schemacie widoczna jest także przyczyna, dla której nie wolno oceniać rozstawu bez okładziny. Panele o dużym oporze cieplnym mogą wymusić niższą odległość między rurami lub wyższą temperaturę wody, natomiast cienka ceramika przekazuje ciepło łatwiej. Nie oznacza to jednak automatycznie, że pod płytkami zawsze można zastosować 15 albo 20 cm.</p>
      </section>

      <section class="rk-sp-section" id="rk-sp-dobor" aria-labelledby="rk-sp-h-dobor">
        <div class="rk-sp-section-head">
          <span class="rk-sp-eyebrow">Procedura zamiast zasady „wszędzie 10 cm”</span>
          <h2 id="rk-sp-h-dobor">Jak prawidłowo dobrać rozstaw rur do pompy ciepła?</h2>
        </div>

        <ol class="rk-sp-checklist" id="rk-sp-selection-checklist">
          <li><div><strong>Oblicz projektowe obciążenie każdego pomieszczenia.</strong><span>Średnia dla całego domu nie pokaże problemu małej łazienki albo narożnego pokoju z dużą powierzchnią szkła.</span></div></li>
          <li><div><strong>Wyznacz aktywną powierzchnię grzewczą.</strong><span>Stała zabudowa może istotnie zmniejszyć pole, z którego podłoga rzeczywiście oddaje ciepło.</span></div></li>
          <li><div><strong>Ustal opór cieplny planowanej okładziny.</strong><span>Do obliczeń przyjmij wartość konkretnego zestawu: okładzina, podkład i ewentualne warstwy pośrednie.</span></div></li>
          <li><div><strong>Porównaj wydajność rozstawów przy temperaturze projektowej.</strong><span>Sprawdź 5, 10, 15 i 20 cm zamiast zakładać jeden wariant dla całego budynku.</span></div></li>
          <li><div><strong>Zweryfikuj temperaturę powierzchni podłogi.</strong><span>Jeżeli limit zostaje przekroczony, samo dalsze podnoszenie temperatury zasilania nie jest poprawnym rozwiązaniem.</span></div></li>
          <li><div><strong>Podziel powierzchnię na hydraulicznie wykonalne pętle.</strong><span>Uwzględnij doprowadzenia, średnicę rury, wymagane przepływy i najbardziej niekorzystny obwód.</span></div></li>
          <li><div><strong>Sprawdź punkt pracy pompy obiegowej i nastawy rozdzielacza.</strong><span>Projekt kończy się wartościami przepływu dla każdej sekcji, a nie samym rysunkiem rury na rzucie.</span></div></li>
        </ol>

        <div class="rk-sp-note rk-sp-note-warn">
          <p><strong>Rozstaw 10 czy 15 cm?</strong> Odpowiedź może być inna w każdym pomieszczeniu. Osobne porównanie tych dwóch wariantów znajdziesz w artykule <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw rur ogrzewania podłogowego co 10 czy 15 cm</a>.</p>
        </div>
      </section>

      <section class="rk-sp-section" id="rk-sp-faq" aria-labelledby="rk-sp-h-faq">
        <div class="rk-sp-section-head">
          <span class="rk-sp-eyebrow">Pytania inwestorów i wykonawców</span>
          <h2 id="rk-sp-h-faq">FAQ – rozstaw rur ogrzewania podłogowego przy pompie ciepła</h2>
        </div>

        <div class="rk-sp-faq">
          <details id="rk-sp-faq-1">
            <summary>Jaki rozstaw rur ogrzewania podłogowego jest najlepszy przy pompie ciepła?</summary>
            <div class="rk-sp-faq-answer"><p>Nie istnieje jeden najlepszy rozstaw dla wszystkich pomieszczeń. W wielu nowych domach stosuje się 10 lub 15 cm, ale ostateczny wybór powinien wynikać z obciążenia cieplnego, aktywnej powierzchni, oporu okładziny, temperatury wody i obliczeń hydraulicznych.</p></div>
          </details>

          <details id="rk-sp-faq-2">
            <summary>Czy przy pompie ciepła rury zawsze trzeba układać co 10 cm?</summary>
            <div class="rk-sp-faq-answer"><p>Nie. Rozstaw 10 cm zwiększa wydajność przy niskiej temperaturze wody, lecz w pomieszczeniu o małej stracie ciepła poprawny może być również rozstaw 15 cm. Zastosowanie 10 cm bez obliczeń może niepotrzebnie zwiększyć liczbę pętli i rozdzielaczy.</p></div>
          </details>

          <details id="rk-sp-faq-3">
            <summary>Czy rozstaw 15 cm będzie wystarczający dla pompy ciepła?</summary>
            <div class="rk-sp-faq-answer"><p>Może być wystarczający, jeżeli przy projektowej temperaturze zasilania podłoga pokrywa obciążenie pomieszczenia bez przekroczenia dopuszczalnej temperatury powierzchni. Sam fakt zastosowania pompy ciepła nie przesądza o wyborze 10 albo 15 cm.</p></div>
          </details>

          <details id="rk-sp-faq-4">
            <summary>Kiedy można zastosować rozstaw rur co 20 cm?</summary>
            <div class="rk-sp-faq-answer"><p>Rozstaw 20 cm można rozważyć w pomieszczeniach o bardzo małym obciążeniu i korzystnej okładzinie, po potwierdzeniu wydajności. Trzeba również ocenić równomierność temperatury powierzchni i ewentualną konieczność podniesienia temperatury wody.</p></div>
          </details>

          <details id="rk-sp-faq-5">
            <summary>Czy warto układać podłogówkę co 5 cm?</summary>
            <div class="rk-sp-faq-answer"><p>Rozstaw 5 cm jest rozwiązaniem specjalnym. Zwiększa zużycie rury do około 21 m/m² wraz z niewielkim zapasem, wymaga większej liczby krótkich pętli i kontroli promienia gięcia. Najczęściej wykorzystuje się go lokalnie, a nie na całej powierzchni domu.</p></div>
          </details>

          <details id="rk-sp-faq-6">
            <summary>Jaki rozstaw rur zastosować pod panelami, a jaki pod płytkami?</summary>
            <div class="rk-sp-faq-answer"><p>Rodzaj okładziny jest tylko jednym z parametrów. Panele i podkład mają zwykle większy opór cieplny niż płytki, dlatego mogą wymagać gęstszego rozstawu lub wyższej temperatury wody. Nie można jednak przypisać rozstawu wyłącznie na podstawie nazwy materiału.</p></div>
          </details>

          <details id="rk-sp-faq-7">
            <summary>Ile rury potrzeba na 1 m² podłogówki?</summary>
            <div class="rk-sp-faq-answer"><p>Orientacyjnie z zapasem geometrycznym 5% potrzeba około 21 m/m² przy rozstawie 5 cm, 10,5 m/m² przy 10 cm, 7 m/m² przy 15 cm oraz 5,25 m/m² przy 20 cm. Do wyniku należy dodać doprowadzenia do rozdzielacza.</p></div>
          </details>

          <details id="rk-sp-faq-8">
            <summary>Jak rozstaw rur wpływa na temperaturę zasilania pompy ciepła?</summary>
            <div class="rk-sp-faq-answer"><p>Przy tej samej mocy i konstrukcji podłogi gęstszy rozstaw zwykle pozwala zastosować niższą średnią temperaturę wody. Dokładna różnica zależy od budowy systemu, okładziny, temperatury powrotu oraz wymaganej mocy jednostkowej.</p></div>
          </details>

          <details id="rk-sp-faq-9">
            <summary>Czy mniejszy rozstaw rur zawsze podnosi COP pompy ciepła?</summary>
            <div class="rk-sp-faq-answer"><p>Nie bezpośrednio. Korzyść pojawia się wtedy, gdy gęstszy rozstaw umożliwia realne obniżenie temperatury zasilania. Rzeczywisty COP zależy również od temperatury źródła, konstrukcji urządzenia, modulacji, odszraniania i sterowania.</p></div>
          </details>

          <details id="rk-sp-faq-10">
            <summary>Jaki rozstaw rur zastosować w łazience?</summary>
            <div class="rk-sp-faq-answer"><p>W łazienkach często stosuje się 10 cm ze względu na wyższą temperaturę obliczeniową i małą aktywną powierzchnię. Jeżeli podłoga nie pokrywa obciążenia bez przekroczenia temperatury powierzchni, potrzebny może być dodatkowy emiter zamiast dalszego zagęszczania rur.</p></div>
          </details>

          <details id="rk-sp-faq-11">
            <summary>Czy przy dużym przeszkleniu trzeba wykonać strefę brzegową co 5 cm?</summary>
            <div class="rk-sp-faq-answer"><p>Nie zawsze. Strefa brzegowa powinna wynikać z obliczonej straty przez przeszklenie i rozkładu temperatury w pomieszczeniu. W nowym, ciepłym oknie może wystarczyć standardowy rozstaw, natomiast przy dużym obciążeniu nawet 5 cm może nie zastąpić dodatkowego emitera.</p></div>
          </details>

          <details id="rk-sp-faq-12">
            <summary>Jaka powinna być maksymalna długość pętli przy rurze 16×2 mm?</summary>
            <div class="rk-sp-faq-answer"><p>Nie ma jednej długości właściwej dla każdego układu. W praktyce często przyjmuje się około 80–100 m łącznie z doprowadzeniami, ale prawidłowy limit wynika z przepływu, średnicy wewnętrznej, oporu pętli, dostępnego ciśnienia i możliwości zrównoważenia instalacji.</p></div>
          </details>

          <details id="rk-sp-faq-13">
            <summary>Czy można zastosować jeden rozstaw rur w całym domu?</summary>
            <div class="rk-sp-faq-answer"><p>Można, jeżeli obliczenia potwierdzą spełnienie wymagań wszystkich pomieszczeń. Najczęściej jednak łazienki, pomieszczenia narożne i strefy przy dużych przeszkleniach wymagają innego podejścia niż sypialnie lub komunikacja.</p></div>
          </details>
        </div>
      </section>

      <div class="rk-sp-cta" aria-label="Projekt ogrzewania podłogowego">
        <div>
          <h3>Potrzebujesz rozstawów i przepływów wynikających z obliczeń?</h3>
          <p>Projekt określa obciążenie każdego pomieszczenia, rozstaw i przebieg rur, liczbę pętli, temperaturę pracy, wymagane przepływy oraz opory hydrauliczne instalacji.</p>
        </div>
        <div class="rk-sp-cta-actions">
          <a class="rk-sp-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt ogrzewania podłogowego</a>
          <small>Odnośnik prowadzi do strony sprzedażowej Projekt-Ogrzewania.pl, serwisu należącego do autora artykułu.</small>
        </div>
      </div>

      <div class="rk-sp-sources" aria-label="Źródła techniczne opracowania">
        <strong>Źródła i podstawa techniczna opracowania</strong>
        Metodyka cieplna: <a href="https://www.dinmedia.de/en/standard/din-en-1264-2/332537063" target="_blank" rel="noopener noreferrer">DIN Media – EN 1264-2:2021</a>, <a href="https://www.dinmedia.de/en/standard/din-en-1264-3/332537135" target="_blank" rel="noopener noreferrer">DIN Media – EN 1264-3:2021</a> oraz <a href="https://www.iso.org/standard/74683.html" target="_blank" rel="noopener noreferrer">ISO 11855-2:2021</a>. Obciążenie cieplne: <a href="https://www.dinmedia.de/en/standard/din-en-12831-1/261292587" target="_blank" rel="noopener noreferrer">DIN Media – EN 12831-1:2017</a>. Wpływ różnicy temperatur na pompy ciepła: <a href="https://publications.jrc.ec.europa.eu/repository/bitstream/JRC99264/2015%20jrc%20geothermal%20energy%20status%20report_online.pdf" target="_blank" rel="noopener noreferrer">Joint Research Centre – Geothermal Energy Status Report</a>. Hydraulika: <a href="https://ecommons.udayton.edu/cgi/viewcontent.cgi?article=1013&amp;context=cee_coursenotes" target="_blank" rel="noopener noreferrer">University of Dayton – Head Loss in Pipes</a> oraz <a href="https://webbook.nist.gov/chemistry/fluid/" target="_blank" rel="noopener noreferrer">NIST – Thermophysical Properties of Fluid Systems</a>.
      </div>

      <aside class="rk-sp-author-box" aria-labelledby="rk-sp-author-title" itemprop="author" itemscope="" itemtype="https://schema.org/Person">
        <div class="rk-sp-author-head">
          <div>
            <h2 id="rk-sp-author-title">Autor opracowania</h2>
            <p>Praktyka projektowa, wiedza techniczna i język zrozumiały dla inwestora.</p>
          </div>
          <span class="rk-sp-author-badge" aria-label="Doświadczenie, eksperckość, autorytet i wiarygodność w branży HVAC">E-E-A-T • HVAC</span>
        </div>

        <div class="rk-sp-author-layout">
          <div class="rk-sp-author-profile">
            <img decoding="async" class="rk-sp-author-photo" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski – projektant instalacji sanitarnych i specjalista ogrzewania podłogowego" width="180" height="180" loading="lazy" itemprop="image">
            <h3 class="rk-sp-author-name" itemprop="name">Robert Kucharski</h3>
            <span class="rk-sp-author-role" itemprop="jobTitle">Projektant instalacji sanitarnych<br>specjalista HVAC i ogrzewania podłogowego</span>

            <div class="rk-sp-author-links" aria-label="Profile Roberta Kucharskiego">
              <a class="rk-sp-author-link" href="https://www.facebook.com/robert.kucharski.budowa.bez.sciemy" target="_blank" rel="noopener noreferrer me" itemprop="sameAs">Facebook</a>
              <a class="rk-sp-author-link" href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer me" itemprop="sameAs">LinkedIn</a>
              <a class="rk-sp-author-link" href="https://projekt-ogrzewania.pl/author/admin3399/" itemprop="url">Profil autora</a>
            </div>
          </div>

          <div class="rk-sp-author-main">
            <blockquote class="rk-sp-author-quote">
              <span class="rk-sp-author-quote-mark" aria-hidden="true">“</span>
              <p>Przy pompie ciepła rozstaw rur nie jest kwestią estetyki ani przyzwyczajenia wykonawcy. To parametr, który decyduje, czy wymagana moc zostanie przekazana przy niskiej temperaturze wody, czy inwestor będzie zmuszony podnosić temperaturę zasilania.</p>
              <footer>Robert Kucharski — autor i projektant instalacji</footer>
            </blockquote>

            <div class="rk-sp-author-tabs" role="tablist" aria-label="Szczegółowe informacje o autorze">
              <button class="rk-sp-author-tab" id="rk-sp-author-tab-about" type="button" role="tab" aria-selected="true" aria-controls="rk-sp-author-panel-about">O autorze</button>
              <button class="rk-sp-author-tab" id="rk-sp-author-tab-experience" type="button" role="tab" aria-selected="false" aria-controls="rk-sp-author-panel-experience" tabindex="-1">Doświadczenie</button>
              <button class="rk-sp-author-tab" id="rk-sp-author-tab-portals" type="button" role="tab" aria-selected="false" aria-controls="rk-sp-author-panel-portals" tabindex="-1">Portale</button>
            </div>

            <div class="rk-sp-author-panels">
              <div class="rk-sp-author-panel" id="rk-sp-author-panel-about" role="tabpanel" aria-labelledby="rk-sp-author-tab-about" itemprop="description">
                <p>Specjalizuję się w projektowaniu wodnego ogrzewania podłogowego, obliczeniach obciążenia cieplnego i hydrauliki instalacji. Łączę wymagania techniczne z praktycznym spojrzeniem inwestora: dokumentacja ma być policzona, czytelna i możliwa do poprawnego wykonania.</p>
              </div>

              <div class="rk-sp-author-panel" id="rk-sp-author-panel-experience" role="tabpanel" aria-labelledby="rk-sp-author-tab-experience" hidden="">
                <p>W projektach określam straty ciepła poszczególnych pomieszczeń, temperatury pracy, rozstawy, długości i przebieg pętli, wymagane przepływy, opory hydrauliczne, liczbę sekcji rozdzielaczy oraz założenia regulacji. Publikacje techniczne opieram na tej samej kolejności obliczeń, która obowiązuje przy przygotowaniu dokumentacji dla konkretnego budynku.</p>
                <p itemprop="knowsAbout">Zakres specjalizacji: ogrzewanie podłogowe, pompy ciepła, hydraulika instalacji, obliczenia OZC, systemy HVAC i efektywność energetyczna budynków.</p>
              </div>

              <div class="rk-sp-author-panel" id="rk-sp-author-panel-portals" role="tabpanel" aria-labelledby="rk-sp-author-tab-portals" hidden="">
                <p>Jestem właścicielem trzech serwisów branżowych. Informację tę podaję jawnie, aby czytelnik znał autorstwo opracowania oraz kontekst linkowania między portalami.</p>
                <div class="rk-sp-portal-list">
                  <a href="https://projekt-ogrzewania.pl/" target="_blank" rel="noopener noreferrer me" itemprop="sameAs">Projekt-Ogrzewania.pl</a>
                  <a href="https://remont.biz.pl/" target="_blank" rel="noopener noreferrer me" itemprop="sameAs">Remont.biz.pl</a>
                  <a href="https://sobir.pl/" target="_blank" rel="noopener noreferrer me" itemprop="sameAs">Sobir.pl</a>
                </div>
              </div>
            </div>
          </div>
        </div>
      </aside>

      <p class="rk-sp-disclaimer"><strong>Nota techniczna:</strong> Interaktywny moduł służy do porównania wpływu rozstawu przy jednakowych założeniach. Współczynniki zastępcze opisują typowy mokry system z rurą 16×2 mm i nie są charakterystyką konkretnego produktu. Projekt wykonawczy powinien wykorzystywać zweryfikowane dane systemowe, rzeczywistą konstrukcję podłogi, obliczenia EN 1264, obciążenie cieplne EN 12831 i pełny bilans hydrauliczny.</p>
    </div>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#article",
      "url": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/",
      "headline": "Rozstaw rur ogrzewania podłogowego przy pompie ciepła.",
      "alternativeHeadline": "Rozstaw rur ogrzewania podłogowego przy pompie ciepła – 5, 10, 15 czy 20 cm?",
      "description": "Techniczny poradnik o rozstawie rur podłogówki przy pompie ciepła: moc podłogi, temperatura zasilania, długość pętli, przepływ, opory i kalkulator porównawczy.",
      "mainEntityOfPage": {
        "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#webpage"
      },
      "author": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "datePublished": "2025-03-03",
      "dateModified": "2026-08-22",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "proficiencyLevel": "Intermediate",
      "articleSection": [
        "Ogrzewanie podłogowe",
        "Pompy ciepła",
        "Projektowanie instalacji",
        "Hydraulika instalacji",
        "Efektywność energetyczna",
        "Normy techniczne"
      ],
      "keywords": "Rozstaw rur ogrzewania podłogowego przy pompie ciepła, jaki rozstaw rur do podłogówki przy pompie ciepła, rozstaw rur 10 czy 15 cm, rozstaw podłogówki co 20 cm, podłogówka co 5 cm, ile rury na m2, temperatura zasilania pompy ciepła, długość pętli podłogówki, przepływ podłogówki, opory hydrauliczne",
      "about": [
        {
          "@type": "Thing",
          "name": "Rozstaw rur ogrzewania podłogowego przy pompie ciepła"
        },
        {
          "@type": "Thing",
          "name": "Wodne ogrzewanie podłogowe"
        },
        {
          "@type": "Thing",
          "name": "Pompa ciepła"
        },
        {
          "@type": "Thing",
          "name": "Hydraulika instalacji grzewczych"
        }
      ],
      "mentions": [
        {
          "@type": "DefinedTerm",
          "name": "Rozstaw rur",
          "description": "Odległość osiowa między sąsiednimi przewodami ogrzewania podłogowego."
        },
        {
          "@type": "DefinedTerm",
          "name": "Projektowe obciążenie cieplne",
          "description": "Moc potrzebna do utrzymania wymaganej temperatury wewnętrznej w projektowych warunkach zewnętrznych."
        },
        {
          "@type": "DefinedTerm",
          "name": "Średnia logarytmiczna różnica temperatur",
          "description": "Różnica temperatur medium grzewczego względem pomieszczenia uwzględniająca temperaturę zasilania i powrotu."
        },
        {
          "@type": "Thing",
          "name": "EN 1264:2021"
        },
        {
          "@type": "Thing",
          "name": "EN 12831-1:2017"
        },
        {
          "@type": "Thing",
          "name": "ISO 11855-2:2021"
        },
        {
          "@type": "Thing",
          "name": "Równanie Darcy-Weisbacha"
        }
      ],
      "citation": [
        {
          "@type": "CreativeWork",
          "name": "DIN EN 1264-2:2021 – Floor heating: thermal output",
          "url": "https://www.dinmedia.de/en/standard/din-en-1264-2/332537063"
        },
        {
          "@type": "CreativeWork",
          "name": "DIN EN 1264-3:2021 – Dimensioning",
          "url": "https://www.dinmedia.de/en/standard/din-en-1264-3/332537135"
        },
        {
          "@type": "CreativeWork",
          "name": "ISO 11855-2:2021 – Determination of design heating and cooling capacity",
          "url": "https://www.iso.org/standard/74683.html"
        },
        {
          "@type": "CreativeWork",
          "name": "DIN EN 12831-1:2017 – Method for calculation of design heat load",
          "url": "https://www.dinmedia.de/en/standard/din-en-12831-1/261292587"
        },
        {
          "@type": "Report",
          "name": "2015 JRC Geothermal Energy Status Report",
          "url": "https://publications.jrc.ec.europa.eu/repository/bitstream/JRC99264/2015%20jrc%20geothermal%20energy%20status%20report_online.pdf"
        },
        {
          "@type": "CreativeWork",
          "name": "Head Loss in Pipes – University of Dayton",
          "url": "https://ecommons.udayton.edu/cgi/viewcontent.cgi?article=1013&context=cee_coursenotes"
        },
        {
          "@type": "WebPage",
          "name": "Thermophysical Properties of Fluid Systems – NIST",
          "url": "https://webbook.nist.gov/chemistry/fluid/"
        }
      ],
      "hasPart": [
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#calculator"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-selection-checklist"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-1"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-2"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-3"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-4"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-5"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-6"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-7"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-8"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-9"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-10"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-11"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-12"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-13"
        }
      ]
    },
    {
      "@type": [
        "WebPage",
        "FAQPage"
      ],
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#webpage",
      "url": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/",
      "name": "Rozstaw rur ogrzewania podłogowego przy pompie ciepła.",
      "description": "Porównanie rozstawów 5, 10, 15 i 20 cm: moc podłogi, temperatura wody, długość pętli, przepływ, opory i interaktywny przykład.",
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/#website"
      },
      "breadcrumb": {
        "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#breadcrumb"
      },
      "datePublished": "2025-03-03",
      "dateModified": "2026-08-22",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-1"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-2"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-3"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-4"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-5"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-6"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-7"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-8"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-9"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-10"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-11"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-12"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-13"
        }
      ],
      "potentialAction": {
        "@type": "ReadAction",
        "target": [
          "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/"
        ]
      }
    },
    {
      "@type": "SoftwareApplication",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#calculator",
      "name": "Porównywarka rozstawu rur ogrzewania podłogowego przy pompie ciepła",
      "description": "Interaktywny model porównujący rozstawy 5, 10, 15 i 20 cm pod względem wymaganej temperatury zasilania, długości rury, liczby pętli, przepływu i orientacyjnej straty ciśnienia.",
      "applicationCategory": "UtilitiesApplication",
      "applicationSubCategory": "Engineering calculator",
      "operatingSystem": "Web browser",
      "browserRequirements": "JavaScript",
      "isAccessibleForFree": true,
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      },
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#article"
      },
      "featureList": [
        "Porównanie rozstawów 5, 10, 15 i 20 cm",
        "Orientacyjna temperatura zasilania",
        "Długość rury i liczba pętli",
        "Przepływ całkowity i przepływ pętli",
        "Orientacyjna strata ciśnienia rury 16×2 mm",
        "Wykres mocy podłogi",
        "Względny indeks warunków pracy pompy ciepła"
      ]
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
        "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
        "caption": "Robert Kucharski – projektant instalacji sanitarnych i specjalista HVAC"
      },
      "jobTitle": "Projektant instalacji sanitarnych i specjalista branży budowlano-instalacyjnej",
      "description": "Projektant instalacji sanitarnych, specjalista ogrzewania podłogowego, hydrauliki instalacji, obliczeń obciążenia cieplnego i systemów HVAC. Właściciel serwisów Projekt-Ogrzewania.pl, Remont.biz.pl i Sobir.pl.",
      "worksFor": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "affiliation": [
        {
          "@id": "https://projekt-ogrzewania.pl/#website"
        },
        {
          "@id": "https://remont.biz.pl/#website"
        },
        {
          "@id": "https://sobir.pl/#website"
        }
      ],
      "knowsAbout": [
        "HVAC",
        "ogrzewanie podłogowe",
        "pompy ciepła",
        "projektowanie instalacji sanitarnych",
        "hydraulika instalacji grzewczych",
        "obliczenia OZC",
        "EN 1264",
        "efektywność energetyczna"
      ],
      "sameAs": [
        "https://projekt-ogrzewania.pl/",
        "https://remont.biz.pl/",
        "https://sobir.pl/",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg",
        "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg"
      },
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt-Ogrzewania.pl",
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "inLanguage": "pl-PL"
    },
    {
      "@type": "WebSite",
      "@id": "https://remont.biz.pl/#website",
      "url": "https://remont.biz.pl/",
      "name": "Remont.biz.pl",
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "inLanguage": "pl-PL"
    },
    {
      "@type": "WebSite",
      "@id": "https://sobir.pl/#website",
      "url": "https://sobir.pl/",
      "name": "Sobir.pl",
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "inLanguage": "pl-PL"
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Strona główna",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Blog",
          "item": "https://projekt-ogrzewania.pl/blog/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Rozstaw rur ogrzewania podłogowego przy pompie ciepła",
          "item": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/"
        }
      ]
    },
    {
      "@type": "ItemList",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-selection-checklist",
      "name": "Procedura doboru rozstawu rur ogrzewania podłogowego do pompy ciepła",
      "numberOfItems": 7,
      "itemListOrder": "https://schema.org/ItemListOrderAscending",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Obliczenie obciążenia cieplnego",
          "description": "Określenie projektowej straty ciepła każdego pomieszczenia."
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Aktywna powierzchnia grzewcza",
          "description": "Wyznaczenie powierzchni rzeczywiście dostępnej dla rur."
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Opór cieplny okładziny",
          "description": "Przyjęcie oporu konkretnego zestawu okładziny i podkładu."
        },
        {
          "@type": "ListItem",
          "position": 4,
          "name": "Porównanie wydajności rozstawów",
          "description": "Sprawdzenie 5, 10, 15 i 20 cm przy projektowej temperaturze wody."
        },
        {
          "@type": "ListItem",
          "position": 5,
          "name": "Temperatura powierzchni podłogi",
          "description": "Weryfikacja granicy komfortu i bezpieczeństwa okładziny."
        },
        {
          "@type": "ListItem",
          "position": 6,
          "name": "Podział na pętle",
          "description": "Dobór liczby obwodów, długości i średnicy rur."
        },
        {
          "@type": "ListItem",
          "position": 7,
          "name": "Bilans hydrauliczny",
          "description": "Obliczenie przepływów, oporów, punktu pracy pompy i nastaw rozdzielacza."
        }
      ]
    },
    {
      "@type": "Question",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-1",
      "name": "Jaki rozstaw rur ogrzewania podłogowego jest najlepszy przy pompie ciepła?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Nie istnieje jeden najlepszy rozstaw dla wszystkich pomieszczeń. W wielu nowych domach stosuje się 10 lub 15 cm, ale ostateczny wybór powinien wynikać z obciążenia cieplnego, aktywnej powierzchni, oporu okładziny, temperatury wody i obliczeń hydraulicznych."
      }
    },
    {
      "@type": "Question",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-2",
      "name": "Czy przy pompie ciepła rury zawsze trzeba układać co 10 cm?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Nie. Rozstaw 10 cm zwiększa wydajność przy niskiej temperaturze wody, lecz w pomieszczeniu o małej stracie ciepła poprawny może być również rozstaw 15 cm. Zastosowanie 10 cm bez obliczeń może niepotrzebnie zwiększyć liczbę pętli i rozdzielaczy."
      }
    },
    {
      "@type": "Question",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-3",
      "name": "Czy rozstaw 15 cm będzie wystarczający dla pompy ciepła?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Może być wystarczający, jeżeli przy projektowej temperaturze zasilania podłoga pokrywa obciążenie pomieszczenia bez przekroczenia dopuszczalnej temperatury powierzchni. Sam fakt zastosowania pompy ciepła nie przesądza o wyborze 10 albo 15 cm."
      }
    },
    {
      "@type": "Question",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-4",
      "name": "Kiedy można zastosować rozstaw rur co 20 cm?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Rozstaw 20 cm można rozważyć w pomieszczeniach o bardzo małym obciążeniu i korzystnej okładzinie, po potwierdzeniu wydajności. Trzeba również ocenić równomierność temperatury powierzchni i ewentualną konieczność podniesienia temperatury wody."
      }
    },
    {
      "@type": "Question",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-5",
      "name": "Czy warto układać podłogówkę co 5 cm?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Rozstaw 5 cm jest rozwiązaniem specjalnym. Zwiększa zużycie rury do około 21 m/m² wraz z niewielkim zapasem, wymaga większej liczby krótkich pętli i kontroli promienia gięcia. Najczęściej wykorzystuje się go lokalnie, a nie na całej powierzchni domu."
      }
    },
    {
      "@type": "Question",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-6",
      "name": "Jaki rozstaw rur zastosować pod panelami, a jaki pod płytkami?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Rodzaj okładziny jest tylko jednym z parametrów. Panele i podkład mają zwykle większy opór cieplny niż płytki, dlatego mogą wymagać gęstszego rozstawu lub wyższej temperatury wody. Nie można jednak przypisać rozstawu wyłącznie na podstawie nazwy materiału."
      }
    },
    {
      "@type": "Question",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-7",
      "name": "Ile rury potrzeba na 1 m² podłogówki?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Orientacyjnie z zapasem geometrycznym 5% potrzeba około 21 m/m² przy rozstawie 5 cm, 10,5 m/m² przy 10 cm, 7 m/m² przy 15 cm oraz 5,25 m/m² przy 20 cm. Do wyniku należy dodać doprowadzenia do rozdzielacza."
      }
    },
    {
      "@type": "Question",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-8",
      "name": "Jak rozstaw rur wpływa na temperaturę zasilania pompy ciepła?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Przy tej samej mocy i konstrukcji podłogi gęstszy rozstaw zwykle pozwala zastosować niższą średnią temperaturę wody. Dokładna różnica zależy od budowy systemu, okładziny, temperatury powrotu oraz wymaganej mocy jednostkowej."
      }
    },
    {
      "@type": "Question",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-9",
      "name": "Czy mniejszy rozstaw rur zawsze podnosi COP pompy ciepła?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Nie bezpośrednio. Korzyść pojawia się wtedy, gdy gęstszy rozstaw umożliwia realne obniżenie temperatury zasilania. Rzeczywisty COP zależy również od temperatury źródła, konstrukcji urządzenia, modulacji, odszraniania i sterowania."
      }
    },
    {
      "@type": "Question",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-10",
      "name": "Jaki rozstaw rur zastosować w łazience?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "W łazienkach często stosuje się 10 cm ze względu na wyższą temperaturę obliczeniową i małą aktywną powierzchnię. Jeżeli podłoga nie pokrywa obciążenia bez przekroczenia temperatury powierzchni, potrzebny może być dodatkowy emiter zamiast dalszego zagęszczania rur."
      }
    },
    {
      "@type": "Question",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-11",
      "name": "Czy przy dużym przeszkleniu trzeba wykonać strefę brzegową co 5 cm?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Nie zawsze. Strefa brzegowa powinna wynikać z obliczonej straty przez przeszklenie i rozkładu temperatury w pomieszczeniu. W nowym, ciepłym oknie może wystarczyć standardowy rozstaw, natomiast przy dużym obciążeniu nawet 5 cm może nie zastąpić dodatkowego emitera."
      }
    },
    {
      "@type": "Question",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-12",
      "name": "Jaka powinna być maksymalna długość pętli przy rurze 16×2 mm?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Nie ma jednej długości właściwej dla każdego układu. W praktyce często przyjmuje się około 80–100 m łącznie z doprowadzeniami, ale prawidłowy limit wynika z przepływu, średnicy wewnętrznej, oporu pętli, dostępnego ciśnienia i możliwości zrównoważenia instalacji."
      }
    },
    {
      "@type": "Question",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/#rk-sp-faq-13",
      "name": "Czy można zastosować jeden rozstaw rur w całym domu?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Można, jeżeli obliczenia potwierdzą spełnienie wymagań wszystkich pomieszczeń. Najczęściej jednak łazienki, pomieszczenia narożne i strefy przy dużych przeszkleniach wymagają innego podejścia niż sypialnie lub komunikacja."
      }
    }
  ]
}
</script>

<script>
  (function () {
    "use strict";

    var root = document.getElementById("rk-sp-guide");
    if (!root) return;

    var progress = root.querySelector(".rk-sp-progress");
    var areaInput = root.querySelector("#rk-sp-area");
    var areaOutput = root.querySelector("#rk-sp-area-out");
    var loadInput = root.querySelector("#rk-sp-load");
    var loadOutput = root.querySelector("#rk-sp-load-out");
    var floorInput = root.querySelector("#rk-sp-floor");
    var zoneInput = root.querySelector("#rk-sp-zone");
    var deltaInput = root.querySelector("#rk-sp-delta");
    var loopMaxInput = root.querySelector("#rk-sp-loop-max");
    var liveSummary = root.querySelector("#rk-sp-live-summary");
    var resultsHost = root.querySelector("#rk-sp-results");
    var chartHost = root.querySelector("#rk-sp-power-chart");
    var efficiencyHost = root.querySelector("#rk-sp-eff-list");

    var configs = [
      { pitch: 5, spacingResistance: 0.030, label: "specjalny" },
      { pitch: 10, spacingResistance: 0.045, label: "gęsty" },
      { pitch: 15, spacingResistance: 0.065, label: "pośredni" },
      { pitch: 20, spacingResistance: 0.090, label: "rzadki" }
    ];

    var chartSeries = [
      { supply: 30, color: "#28c9da" },
      { supply: 35, color: "#078fbe" },
      { supply: 40, color: "#ff7438" },
      { supply: 45, color: "#e33d35" }
    ];

    var number0 = new Intl.NumberFormat("pl-PL", { maximumFractionDigits: 0 });
    var number1 = new Intl.NumberFormat("pl-PL", { minimumFractionDigits: 1, maximumFractionDigits: 1 });

    function readState() {
      var zone = zoneInput.value.split("|").map(Number);
      return {
        area: Number(areaInput.value),
        load: Number(loadInput.value),
        floorResistance: Number(floorInput.value),
        roomTemperature: zone[0],
        maxFloorTemperature: zone[1],
        delta: Number(deltaInput.value),
        loopMax: Number(loopMaxInput.value)
      };
    }

    function logMeanDifference(supply, returnTemperature, roomTemperature) {
      var upper = supply - roomTemperature;
      var lower = returnTemperature - roomTemperature;
      if (upper <= 0 || lower <= 0) return 0;
      if (Math.abs(upper - lower) < 0.000001) return upper;
      return (upper - lower) / Math.log(upper / lower);
    }

    function heatFlux(config, supply, state) {
      var returnTemperature = supply - state.delta;
      var meanDifference = logMeanDifference(supply, returnTemperature, state.roomTemperature);
      if (!meanDifference) return 0;
      var surfaceResistance = 0.0926;
      var totalResistance = surfaceResistance + state.floorResistance + config.spacingResistance;
      return meanDifference / totalResistance;
    }

    function requiredSupply(config, state) {
      var low = state.roomTemperature + state.delta + 0.2;
      var high = 55;
      if (heatFlux(config, high, state) < state.load) return null;
      for (var i = 0; i < 60; i += 1) {
        var middle = (low + high) / 2;
        if (heatFlux(config, middle, state) >= state.load) high = middle;
        else low = middle;
      }
      return high;
    }

    function surfaceTemperatureForFlux(flux, roomTemperature) {
      if (flux <= 0) return roomTemperature;
      return roomTemperature + Math.pow(flux / 8.92, 1 / 1.1);
    }

    function surfaceFluxLimit(state) {
      var difference = state.maxFloorTemperature - state.roomTemperature;
      return difference > 0 ? 8.92 * Math.pow(difference, 1.1) : 0;
    }

    function pipeLength(config, state) {
      return state.area * (100 / config.pitch) * 1.05;
    }

    function hydraulicLoss(length, flowLitresPerHour) {
      if (length <= 0 || flowLitresPerHour <= 0) return 0;
      var diameter = 0.012;
      var density = 994;
      var viscosity = 0.000719;
      var roughness = 0.000007;
      var volumeFlow = flowLitresPerHour / 3600000;
      var sectionArea = Math.PI * diameter * diameter / 4;
      var velocity = volumeFlow / sectionArea;
      var reynolds = density * velocity * diameter / viscosity;
      var friction;

      if (reynolds < 2300) {
        friction = 64 / Math.max(reynolds, 1);
      } else {
        friction = 0.25 / Math.pow(Math.log10(roughness / (3.7 * diameter) + 5.74 / Math.pow(reynolds, 0.9)), 2);
      }

      return friction * (length / diameter) * (density * velocity * velocity / 2) / 1000 * 1.15;
    }

    function carnotIndicator(supply) {
      if (supply === null) return null;
      var sourceKelvin = 273.15;
      var condenserKelvin = 273.15 + supply + 5;
      return condenserKelvin / (condenserKelvin - sourceKelvin);
    }

    function calculate(config, state) {
      var demand = state.area * state.load;
      var length = pipeLength(config, state);
      var loops = Math.max(1, Math.ceil(length / state.loopMax));
      var averageLength = length / loops;
      var totalFlow = 0.86 * demand / state.delta;
      var flowPerLoop = totalFlow / loops;
      var pressureLoss = hydraulicLoss(averageLength, flowPerLoop);
      var supply = requiredSupply(config, state);
      var surfaceTemperature = surfaceTemperatureForFlux(state.load, state.roomTemperature);
      var limitFlux = surfaceFluxLimit(state);
      var status;

      if (state.load > limitFlux) {
        status = { className: "is-bad", text: "limit powierzchni" };
      } else if (supply === null) {
        status = { className: "is-bad", text: "poza zakresem" };
      } else if (supply <= 35) {
        status = { className: "is-good", text: "bardzo niska Tz" };
      } else if (supply <= 40) {
        status = { className: "is-warn", text: "wymaga weryfikacji" };
      } else {
        status = { className: "is-bad", text: "wysoka Tz" };
      }

      return {
        config: config,
        demand: demand,
        length: length,
        loops: loops,
        averageLength: averageLength,
        totalFlow: totalFlow,
        flowPerLoop: flowPerLoop,
        pressureLoss: pressureLoss,
        supply: supply,
        surfaceTemperature: surfaceTemperature,
        limitFlux: limitFlux,
        status: status,
        indicator: carnotIndicator(supply)
      };
    }

    function renderResults(state, calculations) {
      areaOutput.textContent = number0.format(state.area) + " m²";
      loadOutput.textContent = number0.format(state.load) + " W/m²";
      liveSummary.textContent = "Pomieszczenie " + number0.format(state.area) + " m² wymaga " + number0.format(state.area * state.load) + " W mocy grzewczej, czyli " + number0.format(state.load) + " W/m². Temperatura powierzchni wynikająca z tego strumienia to około " + number1.format(calculations[0].surfaceTemperature) + "°C.";

      resultsHost.innerHTML = calculations.map(function (result) {
        var supplyText = result.supply === null ? "> 55°C" : number1.format(result.supply) + "°C";
        return "" +
          "<article class=\"rk-sp-result\">" +
            "<div class=\"rk-sp-result-head\">" +
              "<span class=\"rk-sp-result-title\">Rozstaw " + result.config.pitch + " cm</span>" +
              "<span class=\"rk-sp-status " + result.status.className + "\">" + result.status.text + "</span>" +
            "</div>" +
            "<div class=\"rk-sp-result-values\">" +
              "<div class=\"rk-sp-result-value\"><span>Wymagana temperatura zasilania</span><b>" + supplyText + "</b></div>" +
              "<div class=\"rk-sp-result-value\"><span>Rura bez doprowadzeń</span><b>" + number0.format(result.length) + " m</b></div>" +
              "<div class=\"rk-sp-result-value\"><span>Liczba pętli</span><b>" + result.loops + "</b></div>" +
              "<div class=\"rk-sp-result-value\"><span>Przepływ całkowity</span><b>" + number0.format(result.totalFlow) + " l/h</b></div>" +
            "</div>" +
            "<div class=\"rk-sp-result-foot\">Średnia pętla: " + number1.format(result.averageLength) + " m · przepływ pętli: " + number0.format(result.flowPerLoop) + " l/h · orientacyjna strata rury: " + number1.format(result.pressureLoss) + " kPa.</div>" +
          "</article>";
      }).join("");
    }

    function renderEfficiency(calculations) {
      var valid = calculations.filter(function (result) { return result.indicator !== null; });
      var best = valid.length ? Math.max.apply(null, valid.map(function (result) { return result.indicator; })) : 1;

      efficiencyHost.innerHTML = calculations.map(function (result) {
        var index = result.indicator === null ? 0 : result.indicator / best * 100;
        var value = result.supply === null
          ? "wymagana Tz powyżej 55°C"
          : "Tz " + number1.format(result.supply) + "°C · indeks " + number0.format(index) + "%";
        return "" +
          "<div class=\"rk-sp-eff-row\">" +
            "<span class=\"rk-sp-eff-label\">" + result.config.pitch + " cm</span>" +
            "<div class=\"rk-sp-eff-track\" aria-hidden=\"true\"><div class=\"rk-sp-eff-bar\" style=\"width:" + Math.max(0, Math.min(100, index)) + "%\"></div></div>" +
            "<span class=\"rk-sp-eff-value\">" + value + "</span>" +
          "</div>";
      }).join("");
    }

    function renderPowerChart(state) {
      if (!chartHost) return;
      var width = Math.max(300, Math.round(chartHost.getBoundingClientRect().width || 700));
      var height = width < 470 ? 355 : 390;
      var margin = { top: 24, right: 16, bottom: 52, left: 48 };
      var plotWidth = width - margin.left - margin.right;
      var plotHeight = height - margin.top - margin.bottom;
      var limit = surfaceFluxLimit(state);
      var allValues = [limit];

      chartSeries.forEach(function (series) {
        configs.forEach(function (config) {
          allValues.push(heatFlux(config, series.supply, state));
        });
      });

      var maxValue = Math.max.apply(null, allValues.concat([80]));
      var yMax = Math.ceil(maxValue / 20) * 20;
      var x = function (index) {
        return margin.left + (configs.length === 1 ? plotWidth / 2 : index * plotWidth / (configs.length - 1));
      };
      var y = function (value) {
        return margin.top + plotHeight - value / yMax * plotHeight;
      };

      var grid = "";
      for (var tick = 0; tick <= 5; tick += 1) {
        var tickValue = yMax * tick / 5;
        var tickY = y(tickValue);
        grid += "<line x1=\"" + margin.left + "\" y1=\"" + tickY + "\" x2=\"" + (width - margin.right) + "\" y2=\"" + tickY + "\" stroke=\"#dce8ee\" stroke-width=\"1\"/>";
        grid += "<text x=\"" + (margin.left - 9) + "\" y=\"" + (tickY + 4) + "\" text-anchor=\"end\" fill=\"#687986\" font-size=\"11\">" + number0.format(tickValue) + "</text>";
      }

      var xLabels = configs.map(function (config, index) {
        return "<text x=\"" + x(index) + "\" y=\"" + (height - 18) + "\" text-anchor=\"middle\" fill=\"#465866\" font-size=\"12\" font-weight=\"800\">" + config.pitch + " cm</text>";
      }).join("");

      var seriesMarkup = chartSeries.map(function (series) {
        var points = configs.map(function (config, index) {
          return { x: x(index), y: y(heatFlux(config, series.supply, state)), value: heatFlux(config, series.supply, state) };
        });
        var path = points.map(function (point, index) {
          return (index === 0 ? "M" : "L") + point.x + " " + point.y;
        }).join(" ");
        var circles = points.map(function (point) {
          return "<circle cx=\"" + point.x + "\" cy=\"" + point.y + "\" r=\"4.5\" fill=\"#ffffff\" stroke=\"" + series.color + "\" stroke-width=\"3\"><title>" + series.supply + "°C, " + number1.format(point.value) + " W/m²</title></circle>";
        }).join("");
        return "<path d=\"" + path + "\" fill=\"none\" stroke=\"" + series.color + "\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>" + circles;
      }).join("");

      var limitY = y(limit);
      var limitMarkup = "<line x1=\"" + margin.left + "\" y1=\"" + limitY + "\" x2=\"" + (width - margin.right) + "\" y2=\"" + limitY + "\" stroke=\"#687986\" stroke-width=\"2\" stroke-dasharray=\"7 6\"/>" +
        "<text x=\"" + (width - margin.right) + "\" y=\"" + Math.max(13, limitY - 7) + "\" text-anchor=\"end\" fill=\"#465866\" font-size=\"11\" font-weight=\"800\">limit " + number0.format(limit) + " W/m²</text>";

      chartHost.innerHTML = "" +
        "<svg class=\"rk-sp-chart-svg\" viewBox=\"0 0 " + width + " " + height + "\" role=\"img\" aria-labelledby=\"rk-sp-chart-title rk-sp-chart-desc\">" +
          "<title id=\"rk-sp-chart-title\">Moc podłogi w zależności od rozstawu rur i temperatury zasilania</title>" +
          "<desc id=\"rk-sp-chart-desc\">Cztery linie przedstawiają orientacyjną moc dla temperatur zasilania 30, 35, 40 i 45 stopni Celsjusza przy rozstawach 5, 10, 15 i 20 centymetrów.</desc>" +
          "<text x=\"" + margin.left + "\" y=\"14\" fill=\"#465866\" font-size=\"11\" font-weight=\"800\">W/m²</text>" +
          grid + limitMarkup + seriesMarkup + xLabels +
        "</svg>";
    }

    function update() {
      var state = readState();
      var calculations = configs.map(function (config) { return calculate(config, state); });
      renderResults(state, calculations);
      renderEfficiency(calculations);
      renderPowerChart(state);
    }

    [areaInput, loadInput, floorInput, zoneInput, deltaInput, loopMaxInput].forEach(function (control) {
      control.addEventListener("input", update);
      control.addEventListener("change", update);
    });

    function updateProgress() {
      if (!progress) return;
      var rect = root.getBoundingClientRect();
      var total = root.offsetHeight + window.innerHeight;
      var current = window.innerHeight - rect.top;
      var ratio = Math.max(0, Math.min(1, current / total));
      progress.style.width = ratio * 100 + "%";
    }

    window.addEventListener("scroll", updateProgress, { passive: true });
    window.addEventListener("resize", updateProgress);

    if ("ResizeObserver" in window && chartHost) {
      var resizeObserver = new ResizeObserver(function () {
        renderPowerChart(readState());
      });
      resizeObserver.observe(chartHost);
    } else {
      window.addEventListener("resize", function () {
        renderPowerChart(readState());
      });
    }

    var authorTabs = Array.prototype.slice.call(root.querySelectorAll(".rk-sp-author-tab"));
    var authorPanels = Array.prototype.slice.call(root.querySelectorAll(".rk-sp-author-panel"));

    function activateAuthorTab(tab, shouldFocus) {
      authorTabs.forEach(function (item) {
        var selected = item === tab;
        item.setAttribute("aria-selected", selected ? "true" : "false");
        item.tabIndex = selected ? 0 : -1;
      });

      authorPanels.forEach(function (panel) {
        panel.hidden = panel.id !== tab.getAttribute("aria-controls");
      });

      if (shouldFocus) tab.focus();
    }

    authorTabs.forEach(function (tab, index) {
      tab.addEventListener("click", function () {
        activateAuthorTab(tab, false);
      });

      tab.addEventListener("keydown", function (event) {
        var nextIndex = index;
        if (event.key === "ArrowRight" || event.key === "ArrowDown") nextIndex = (index + 1) % authorTabs.length;
        else if (event.key === "ArrowLeft" || event.key === "ArrowUp") nextIndex = (index - 1 + authorTabs.length) % authorTabs.length;
        else if (event.key === "Home") nextIndex = 0;
        else if (event.key === "End") nextIndex = authorTabs.length - 1;
        else return;

        event.preventDefault();
        activateAuthorTab(authorTabs[nextIndex], true);
      });
    });

    update();
    updateProgress();
  }());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">Rozstaw rur ogrzewania podłogowego przy pompie ciepła.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
