PageSourceSearch

https://tercet-sztum.pl/

html tercet-sztum.pl collected 2026-10-08 07:35:13 UTC 224,680 bytes, 5,734 lines download raw bytes

1<!doctype html>
2<html lang="pl">
3<head>
4<meta charset="utf-8">
5<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
6
7<title>Osiedle Tercet - nowe domy z widokiem na jezioro<</title>
8<meta name="description" content="Osiedle Tercet - nowe domy z widokiem na jezioro">
9	
10<meta property="og:title" content="Osiedle Tercet - nowe domy z widokiem na jezioro">
11<meta property="og:description" content="Osiedle Tercet - nowe domy z widokiem na jezioro">
12<meta property="og:image" content="https://tercet-sztum.pl/assets/img/og-image.jpg">
13<meta property="og:url" content="https://tercet-sztum.pl/">
14<meta property="og:type" content="website">
15	
16<link rel="shortcut icon" href="assets/img/favicon.png">
17<link rel="icon" type="image/png" href="assets/img/favicon-192x192.png" sizes="192x192">
18<link rel="apple-touch-icon" sizes="180x180" href="assets/img/favicon-180x180.png">
19	
20
21<!-- Google tag (gtag.js) -->
vendor: 64 bytes, line 21
21 <script async src="https://www.googletagmanager.com/gtag/js?id=
21AW-11511493723
vendor: 12 bytes, line 21
21"></script> 
21<script> 
vendor: 127 bytes, line 21
21window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '
21AW-11511493723
vendor: 4 bytes, line 21
21'); 
21</script>
21 
22	
23<link href="assets/css/bootstrap.css" rel="stylesheet" type="text/css">
24<link href="assets/css/style-v6.css" rel="stylesheet" type="text/css">
25	
26<link rel="preconnect" href="https://fonts.googleapis.com">
27<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
28<link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap" rel="stylesheet">
29	
30<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.css" />
31
32	
33<link rel="stylesheet" href="assets/css/owl.carousel.min.css" />
34<link rel="stylesheet" href="assets/css/owl.theme.default.css" />
35<style>
36.btn-primary {
37    background: var(--premium-green);
38    border-color: var(--premium-green);
39}
40
41.btn-primary:hover {
42    background: var(--premium-green-dark);
43    border-color: var(--premium-green-dark);
44}	
45.btn-outline-primary, .btn-outline-primary {
46    color: var(--premium-green);
47    border-color: rgba(33,77,55,.35);
48}
49
50.btn-outline-primary:hover, .btn-outline-primary:hover {
51    color: #fff;
52    background: var(--premium-green);
53    border-color: var(--premium-green);
54  }
55</style>
56	
57<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAz2PSIExzdjUEUxubOL8EkUUO8U81vVYU&callback=initMap&libraries=&v=weekly" defer></script>
vendor: 1 bytes, line 57
57
58<script>
59let map;
60
61function initMap() {
62  map = new google.maps.Map(document.getElementById("map"), {
63    center: new google.maps.LatLng(53.92156290945742, 19.02377729115214),
64    zoom: 18,
65	mapTypeId: google.maps.MapTypeId.SATELLITE
66  });
67	
68	 var marker = new google.maps.Marker({
69     position: new google.maps.LatLng(53.92156290945742, 19.02377729115214),
70	 icon: new google.maps.MarkerImage('assets/img/map_ico.png'),
71     map: map,
72     title: 'Tercet',
73  });
74	
75  // Create markers.
76  for (let i = 0; i < features.length; i++) {
77    const marker = new google.maps.Marker({
78      position: features[i].position,
79      icon: icons[features[i].type].icon,
80      map: map,
81    });
82  }
83}
84</script>
84
85	
86	
87<script type="text/javascript" charset="UTF-8" src="//cdn.cookie-script.com/s/d394230571eaca5e52a6863bca51f506.js"></script>
87
88</head>
89<body>
90<!-- Event snippet for Kontakt conversion page -->
91	
91<script> gtag('event', 'conversion', {'send_to': 'AW-11511493723/0nSSCNPa1foZENvojfEq'}); </script>
91 
92
93<div id="mobilemenu" class="fixed-top navbar-con navbar-mobilemenu d-flex d-lg-none flex-column justify-content-between">
94	<div class="p-2">
95		<div class="d-flex justify-content-between align-items-center menu-tool">
96		<a class="navbar-brand" href="#"><img src="assets/img/logo.svg" width="200px"></a>
97		<div id="burger-con" class="d-lg-none">
98			<div class="burger burger2">
99				<div></div>
100			</div>
101		</div> 
102	</div>
103	</div>
104
105	<div class="mobilemenucon mobilemenu justify-content-center">
106		<ul class="navbar-nav text-center align-items-center">
107			<li class="nav-item">
108			  <a class="nav-link text-dark" href="#inwestycja">O inwestycji</a>
109			</li>
110			<li class="nav-item">
111			  <a class="nav-link text-dark" href="#lokalizacja">Lokalizacja</a>
112			</li>
113			<li class="nav-item">
114			  <a class="nav-link text-dark" href="#galeria">Galeria</a>
115			</li>
116			<li class="nav-item">
117			  <a class="nav-link text-dark" href="#rezerwacja">Rezerwacja</a>
118			</li>
119			<li class="nav-item">
120			  <a class="nav-link text-dark" href="#deweloper">Deweloper</a>
121			</li>
122			<li class="nav-item">
123			  <a class="nav-link text-dark" href="#kontakt">Kontakt</a>
124			</li>
125		</ul>
126	</div>
127	<div class="flex-row mobilemenucon align-items-center ">
128		<div class="d-flex w-100 justify-content-center">
129			<a id="menu-kontakt-button" class="phone-button text-center" href="tel:509 850 577"><span>Skontaktuj się z nami</span><br>tel. 509 850 577</a> 
130		</div>
131	</div>
132	
133</div>
134
135<div class="navbar-con fixed-top d-none d-lg-block">
136	<nav class="navbar navbar-expand-lg container-fluid px-lg-5">
137	  <div class="container-fluid">
138		<a id="menu-logo" class="navbar-brand" href="#"><img src="assets/img/logo.svg"></a>
139		<button class="navbar-toggler bg-white" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
140		  <span class="navbar-toggler-icon"></span>
141		</button>
142		<div class="collapse navbar-collapse" id="navbarNav">
143		  <ul class="navbar-nav ms-auto text-center align-items-center">
144			<li class="nav-item">
145			  <a class="nav-link text-black" href="#inwestycja">O inwestycji</a>
146			</li>
147			<li class="nav-item">
148			  <a class="nav-link text-black" href="#lokalizacja">Lokalizacja</a>
149			</li>
150			<li class="nav-item">
151			  <a class="nav-link text-black" href="#galeria">Galeria</a>
152			</li>
153			<li class="nav-item">
154			  <a class="nav-link text-black" href="#rezerwacja">Rezerwacja</a>
155			</li>
156			<li class="nav-item">
157			  <a class="nav-link text-black" href="#deweloper">Deweloper</a>
158			</li>
159			<li class="nav-item">
160			  <a class="nav-link text-black" href="#kontakt">Kontakt</a>
161			</li>
162			<li class="nav-item ms-3">
163				<a id="menu-kontakt-button" class="phone-button" href="tel:509 850 577"><span>Skontaktuj się z nami</span><br>tel. 509 850 577</a>  
164			</li>
165			
166		  </ul>
167		</div>
168	  </div>
169	</nav>
170</div>
171
172	<div class="container-fluid fullheight bg-02 px-5">
173		<div class="row fullheight">
174			<div class="col-12 d-flex">
175				<div class="d-flex w-50 align-items-center justify-content-start text-left">
176				<div class="text-white" style="margin-top: 50vh;">
177					<h1>Osiedle Tercet<br />
178harmonia życia nad jeziorem</h1>
179					<h3>Nowoczesne osiedle w Sztumie, położone tuż nad jeziorem.<br />
180Spokojna okolica, bliskość natury i pełna infrastruktura w zasięgu kilku minut.<br />
181Idealne miejsce dla rodzin z dziećmi.</h3>
182					<a href="#inwestycja" class="button-1 my-5">Poznaj inwestycję</a>
183
184				</div>
185				
186				</div>
187				
188			</div>
189		</div>
190	</div>
191	
192<div id="inwestycja" class="container-fluid bg-06 px-0">
193	<div class="container text-center">
194		<div class="row pt-5">
195			<div class="col-12 col-lg-10 offset-lg-1 py-5 text-white" style="margin-bottom:85vh;">
196				<h2 class="ngl-1 mt-5">Osiedle Tercet<br />
197Zamieszkaj nad jeziorem</h2>
198				<hr class="d-inline-block" style="width: 50%;">
199				<p class="op-1 mt-5">Wyobraź sobie dom w miejscu, gdzie każdy dzień zaczyna się widokiem natury. Tercet to nowoczesne osiedle w Sztumie, stworzone z myślą o komforcie i bezpieczeństwie mieszkańców. W pobliżu znajdują się szkoły, sklepy oraz tereny rekreacyjne – wszystko w zasięgu spaceru. To przestrzeń, w której dzieci mogą dorastać blisko natury, a dorośli odnajdą spokój i wygodę.</p>
200			</div>
201		</div>
202	</div>
203</div>
204
205<div class="container-fluid bg-07 position-relative py-4">
206	<div class="container py-5">
207    <div class="row row-cols-2 row-cols-md-3 row-cols-lg-5 g-4 py-5">
208
209        <div class="col text-center">
210            <img src="assets/img/ico/ico_centrum.svg" height="90" class="mb-3">
211            <div class="d-block domy-wartosc-2">
212                Blisko<br>centrum
213            </div>
214        </div>
215
216        <div class="col text-center">
217            <img src="assets/img/ico/ico_boisko.svg" height="90" class="mb-3">
218            <div class="d-block domy-wartosc-2">
219                Blisko<br>stadionu
220            </div>
221        </div>
222
223        <div class="col text-center">
224            <img src="assets/img/ico/ico_szpital.svg" height="90" class="mb-3">
225            <div class="d-block domy-wartosc-2">
226                Blisko<br>szpitala
227            </div>
228        </div>
229
230        <div class="col text-center">
231            <img src="assets/img/ico/ico_szkoly.svg" height="90" class="mb-3">
232            <div class="d-block domy-wartosc-2">
233                Blisko<br>szkół
234            </div>
235        </div>
236
237        <div class="col text-center">
238            <img src="assets/img/ico/ico_wykonczenie.svg" height="90" class="mb-3">
239            <div class="d-block domy-wartosc-2">
240                Materiały<br>wysokiej jakości
241            </div>
242        </div>
243
244        <div class="col text-center">
245            <img src="assets/img/ico/ico_parking.svg" height="90" class="mb-3">
246            <div class="d-block domy-wartosc-2">
247                Garaże<br>i miejsca postojowe
248            </div>
249        </div>
250
251        <div class="col text-center">
252            <img src="assets/img/ico/ico_komorki.svg" height="90" class="mb-3">
253            <div class="d-block domy-wartosc-2">
254                Komórki<br>lokatorskie
255            </div>
256        </div>
257
258        <div class="col text-center">
259            <img src="assets/img/ico/ico_ogrzewanie.svg" height="90" class="mb-3">
260            <div class="d-block domy-wartosc-2">
261                Ogrzewanie<br>podłogowe
262            </div>
263        </div>
264
265        <div class="col text-center">
266            <img src="assets/img/ico/ico_ogrodki.svg" height="90" class="mb-3">
267            <div class="d-block domy-wartosc-2">
268                Mieszkania na parterze<br>z ogródkami
269            </div>
270        </div>
271
272        <div class="col text-center">
273            <img src="assets/img/ico/ico_balkony.svg" height="90" class="mb-3">
274            <div class="d-block domy-wartosc-2">
275                Balkony<br>lub tarasy
276            </div>
277        </div>
278    </div>
279</div>
280
281
282</div>
283	
284<div class="container-fluid bg-04">
285		
286		<div class="row my-5">
287			<div class="col-12 col-lg-8 offset-lg-2 text-center">
288				<h2 class="ngl-1 mt-5">Osiedle Tercet to miejsce, gdzie rodzina, natura i wygoda<br />
289tworzą idealną harmonię</h2>
290				<p class="op-1 mt-5">Położone nad jeziorem w Sztumie osiedle Tercet powstało z myślą o osobach, które pragną połączyć spokojne życie w otoczeniu natury z dostępem do pełnej infrastruktury miejskiej.<br />
291<br />
292To bezpieczna, przyjazna przestrzeń dla rodzin – z łatwym dostępem do szkół, sklepów, terenów rekreacyjnych i komunikacji. Dzieci mogą tu dorastać w zielonym otoczeniu bawiąc się na wewnętrznym placu zabaw, a dorośli cieszyć się komfortem nowoczesnego domu i wygodą codzienności.<br />
293<br />
294Tercet to inwestycja w przyszłość – w jakość życia, bezpieczeństwo i rodzinne wspomnienia.</p>
295			</div>
296			
297		</div>
298		
299		<style>
300			.kafelek {
301				height: 900px;
302				background-size: cover;
303				background-position: center;
304			}
305			.kafelek-1 {
306				background-image: url(assets/img/kafelek-1.jpg);
307			}
308			.kafelek-2 {
309				background-image: url(assets/img/kafelek-2.jpg);
310			}
311			.kafelek-3 {
312				background-image: url(assets/img/kafelek-3.jpg);
313			}
314			.kafelek-4 {
315				background-image: url(assets/img/kafelek-4.jpg);
316			}
317		</style>
318		<div class="row">
319			<div class="col-lg-6 d-flex align-items-center justify-content-center p-5">
320				<div class="d-block">
321					<div class="col-lg-8 offset-lg-2 text-center">
322					<h2>Tercet to kameralna przestrzeń stworzona z myślą o rodzinach. </h2>
323						<p class="op-1 mt-3">Spokojne otoczenie, sąsiedzka atmosfera i bezpieczne środowisko sprawiają, że każdy może tu poczuć się naprawdę u siebie.</p>
324					
325					</div>
326				</div>
327			</div>
328			<div class="col-lg-6 kafelek kafelek-1"></div>
329		</div>
330		<div class="row">
331			<div class="col-lg-6 d-flex align-items-center justify-content-center p-5 order-0 order-lg-1">
332				<div class="d-block">
333					<div class="col-lg-8 offset-lg-2 text-center">
334					<h2>Osiedle Tercet oferuje również przestrzeń rekreacyjną</h2>
335						<p class="op-1 mt-3">Na terenie osiedla znajduje się plac zabaw dla dzieci oraz alejki spacerowe sprzyjające codziennemu relaksowi. To miejsce, gdzie najmłodsi mogą bezpiecznie się bawić, a dorośli odpocząć i cieszyć się bliskością natury.</p>
336					</div>
337				</div>
338			</div>
339			<div class="col-lg-6 kafelek kafelek-2 order-1 order-lg-0"></div>
340		</div>
341</div>
342<!--<div class="container-fluid">
343	<div class="container text-center">
344		<div class="row">
345			<div class="col-12 col-lg-10 offset-lg-1 py-5 mt-5">
346				<div class="mt-5">
347				<p class="op-1">- Styl i komfort -<br />
348Tercet to propozycja dla osób, które cenią ciszę, niezależność i ponadczasową estetykę. Klasyczna elewacja, duże przeszklenia i stonowana paleta barw nadają bryle subtelną elegancję, a światło naturalnie wypełnia wnętrza przez cały dzień, podkreślając ich przestrzeń i strukturę.<br />
349Każdy apartament został zaprojektowany tak, by oferować funkcjonalność i poczucie równowagi. To miejsce, w którym codzienność staje się spokojniejsza, a architektura współgra z rytmem życia.<br />
350<br />
351- Estetyka i materiały -<br />
352Projekt wyróżnia się dbałością o każdy szczegół.<br />
353Udogodnienia takie jak windy, wysokiej klasy materiały tworzą trwałą, harmonijną całość.<br />
354To architektura, która nie wychodzi z mody. Z czasem tylko zyskuje szlachetność i charakter.</p>
355					<hr class="my-5">
356				<p class="op-1">Tercet to subtelne połączenie szlachetnej architektury, wysokiej jakości wykonania i dopracowanych rozwiązań funkcjonalnych. To propozycja dla osób, które cenią kameralny charakter, ponadczasową estetykę i komfort życia w wyjątkowej, prestiżowej lokalizacji.<br />
357<br />
358To widok na przyszłość – na codzienność pełną światła, elegancji i spokoju,<br />
359w miejscu, które nie potrzebuje rozgłosu, by mówić o jakości.</p>
360				</div>
361				
362			</div>
363		</div>
364	</div>
365</div>-->
366
367<div id="lokalizacja" class="container-fluid">
368    <div class="row">
369        <div class="col-12 col-lg-6 p-lg-5">
370            <h3 class="ngl-1">Lokalizacja</h3>
371            <p class="op-1 mt-5">ul. Mikołaja Reja w Sztumie<br />
372<br />
373Szkoła Podstawowa nr 1 – 1km<br />
374Szkoła Podstawowa nr 2 – 300m<br />
375Przedszkole Publiczne – 1,0km<br />
376Zespół Szkół im. Jana Kasprowicza – 200m<br />
377Szpital - 150m<br />
378Stacja PKP - 500m<br />
379Plaża miejska - 200m<br />
380Boisko - 100m<br />
381Korty tenisowe - 100m<br />
382Urząd miasta - 400m<br />
383Bank PKO - 400m<br />
384Biedronka - 900m<br />
385Lidl - 1,1km<br />
386Dino - 1km</p>
387        </div>
388        <div class="col-12 col-lg-6 px-0">
389            <style>
390            #map {
391                height: 100%;
392                min-height: 600px;
393            }
394            </style>
395            <div id="map"></div>
396        </div>
397    </div>
398</div>
399	
400<div id="galeria" class="container-fluid">
401	<div class="container text-center">
402		<div class="row">
403			<div class="col-12 col-lg-10 offset-lg-1 py-5">
404				<h3 class="ngl-1 mt-5">Poznaj Osiedle Tercet w Sztumie</h3>
405				<p class="op-1">na wizualizacjach poniżej</p>
406			</div>
407		</div>
408	</div>
409</div>
410
411<div class="container-fluid">
412    <div class="owl-carousel owl-theme">
413    <div>
414        <div class="gallery-item">
415            <a data-fancybox="gallery" href="assets/galeria/gal-1.jpg" loading="lazy" decoding="async">
416				<img src="assets/galeria/gal-1-m.jpg" loading="lazy" decoding="async">
417			</a>
418        </div>
419    </div>
420    <div>
421        <div class="gallery-item">
422            <a data-fancybox="gallery" href="assets/galeria/gal-2.jpg" loading="lazy" decoding="async">
423				<img src="assets/galeria/gal-2-m.jpg" loading="lazy" decoding="async">
424			</a>
425        </div>
426    </div>
427    <div>
428        <div class="gallery-item">
429            <a data-fancybox="gallery" href="assets/galeria/gal-3.jpg" loading="lazy" decoding="async">
430				<img src="assets/galeria/gal-3-m.jpg" loading="lazy" decoding="async">
431			</a>
432        </div>
433    </div>
434    <div>
435        <div class="gallery-item">
436            <a data-fancybox="gallery" href="assets/galeria/gal-4-2.jpg" loading="lazy" decoding="async">
437				<img src="assets/galeria/gal-4-2-m.jpg" loading="lazy" decoding="async">
438			</a>
439        </div>
440    </div>
441    </div>
442</div>
443	
444<style>
445.investment-video-section {
446  background: #f5eddf;
447  padding: 90px 0;
448}
449
450.investment-video {
451  position: relative;
452  width: 100%;
453  aspect-ratio: 16 / 9;
454  overflow: hidden;
455  border-radius: 20px;
456
457  /* złota rama bez padding hack */
458  border: 3px solid #c7a15a;
459
460  /* lekki premium shadow */
461  box-shadow:
462    0 18px 45px rgba(10,37,23,.14),
463    0 4px 10px rgba(0,0,0,.08);
464
465  background: #0f321f;
466}
467
468.investment-video::after {
469  content: "";
470  position: absolute;
471  inset: 6px;
472  border: 1px solid rgba(240,216,162,.55);
473  border-radius: 14px;
474  pointer-events: none;
475}
476
477.investment-video__media {
478  width: 100%;
479  height: 100%;
480  display: block;
481  object-fit: cover;
482
483  /* ważne */
484  border-radius: 16px;
485  transform: translateZ(0);
486  backface-visibility: hidden;
487}
488</style>
489<section class="investment-video-section" id="film">
490  <div class="container">
491    <div class="investment-video">
492      <video
493        class="investment-video__media"
494        muted
495        autoplay
496        playsinline
497        loop
498        preload="none"
499        poster="assets/img/video-poster.jpg"
500        data-src="assets/video/tercet.mp4"
501      ></video>
502    </div>
503  </div>
504</section>
505<script>
506document.addEventListener("DOMContentLoaded", () => {
507  const video = document.querySelector(".investment-video__media");
508  if (!video) return;
509
510  const src = video.dataset.src;
511  if (!src) return;
512
513  const loadVideo = () => {
514    if (video.dataset.loaded === "true") return;
515
516    const source = document.createElement("source");
517    source.src = src;
518    source.type = "video/mp4";
519
520    video.appendChild(source);
521    video.load();
522    video.dataset.loaded = "true";
523
524    const playPromise = video.play();
525
526    if (playPromise !== undefined) {
527      playPromise.catch(() => {
528        video.controls = true;
529      });
530    }
531  };
532
533  const observer = new IntersectionObserver(
534    entries => {
535      entries.forEach(entry => {
536        if (entry.isIntersecting) {
537          loadVideo();
538          observer.disconnect();
539        }
540      });
541    },
542    {
543      rootMargin: "400px 0px",
544      threshold: 0.01
545    }
546  );
547
548  observer.observe(video);
549});
550</script>
550
551	
552<div class="container">
553    <div class="row">
554        <div class="col-12 col-lg-10 offset-lg-1 py-5 text-center">
555            <h3 class="ngl-1 mt-5">Zobacz jedno z naszych mieszkań</h3>
556            <p class="op-1">zapraszamy na spacer</p>
557        </div>
558    </div>
559	<div class="row">
560		<div class="col-12 overflow-hidden">
561
562              
562<script type="text/javascript" src="assets/spacer/pano2vr_player.js"></script>
562
563              
563<script type="text/javascript" src="assets/spacer/skin.js"></script>
563
564              
564<script src="assets/spacer/webvr/three.min.js"></script>
564
565              
565<script src="assets/spacer/webvr/webvr-polyfill.min.js"></script>
565
566              <div id="container" style="width:100%;height:600px;overflow:hidden;">
567              <br>Ładowanie...<br><br>
568              </div>
569              
569<script type="text/javascript">
570                  pano=new pano2vrPlayer("container");
571                  skin=new pano2vrSkin(pano);
572
573                  window.addEventListener("load", function() {
574                  pano.readConfigUrlAsync("assets/spacer/pano.xml");
575                  });
576              </script>
576
577              <noscript>
578                  <p><b>Please enable Javascript!</b></p>
579              </noscript>
580      <!-- - - - - - - 8<- - - - - - cut here - - - - - 8<- - - - - - - --> 
581              <!-- Hack needed to hide the url bar on iOS 9, iPhone 5s --> 
582              <div style="width:1px;height:1px;"></div>
583
584            </div>	
585	</div>
586
587
588
589</div>
590
591<style>
592	.tabelka tr td {
593		padding: 4px 10px;
594		font-size: 70%;
595	}
596	.tabelka tr.t-data td {
597		border-bottom: solid 1px #d5d5d5;
598	}
599	.tabelka .t-number {
600		opacity: 0.4;
601	}
602	.tabelka .t-suma {
603		font-size: 100%;
604	}	
605</style>
606      <!--
607<div id="apartamenty" class="container">
608	<div class="row d-flex align-items-center">
609		<div class="col-12 col-lg-7">
610			<img src="assets/img/plan.jpg" class="img-fluid">
611		</div>
612		
613		<div class="col-12 col-lg-4 px-5 px-lg-0">
614				<div class="text-center">
615				<h3 class="ngl-1 mt-5">Rozkład mieszkań:</h3>
616				<p class="op-1">Bud. 1 - M1, M4, M6</p>
617				<p class="op-1">Bud. 2 - M1, M4, M6</p>
618				<p class="op-1">Bud. 3 - M1, M4, M6</p>
619				</div>
620				
621			<table class="tabelka">
622				<tbody class="op-1">
623					<tr class="t-data">
624						<td class="t-number">1</td><td>Salon</td><td class="text-end">29,48m²</td>
625					</tr>
626					<tr class="t-data">
627						<td class="t-number">2</td><td>Korytarz</td><td class="text-end">9,03m²</td>
628					</tr>
629					<tr class="t-data">
630						<td class="t-number">3</td><td>Łazienka 1</td><td class="text-end">4,73m²</td>
631					</tr>
632					<tr class="t-data">
633						<td class="t-number">4</td><td>Łazienka 2</td><td class="text-end">3,54m²</td>
634					</tr>
635					<tr class="t-data">
636						<td class="t-number">5</td><td>Garderoba</td><td class="text-end">2,54m²</td>
637					</tr>
638					<tr class="t-data">
639						<td class="t-number">6</td><td>Pokój 1</td><td class="text-end">8,34m²</td>
640					</tr>
641					<tr class="t-data">
642						<td class="t-number">7</td><td>Pokój 2</td><td class="text-end">8,53m²</td>
643					</tr>
644					<tr class="t-data">
645						<td class="t-number">8</td><td>Sypialnia</td><td class="text-end">12,27m²</td>
646					</tr>
647					<tr class="t-data">
648						<td class="t-number">9</td><td>Pom. gosp.</td><td class="text-end">1,98m²</td>
649					</tr>
650					<tr>
651						<td></td><td class="t-suma"><strong>Suma</strong></td><td class="text-end t-suma"><strong>80,44m²</strong></td>
652					</tr>
653				</tbody>
654			</table>
655			
656			<div class="container align-items-center text-center mt-4">
657      <div class="prospekt">
658          <p class="op-1 text-center mb-3">Spodobał Ci się ten rozkład?<br>Zapytaj o niego już teraz</p><a href="assets/WM2_prospekt_informacyjny.pdf" class="button-3 ms-0 ms-lg-4 mt-5 mt-lg-0 d-inline-block" target="_blank">Skontaktuj się z nami</a>
659      </div>
660</div>
661			
662		</div>
663	</div>	
664</div>
665
666-->
667
668
669<div id="rezerwacja" class="container-fluid">
670	<div class="container text-center">
671		<div class="row">
672			<div class="col-12 col-lg-10 offset-lg-1 py-5">
673				<h4 class="ngl-1 mt-5">Wybierz mieszkanie</h4>
674				<p class="op-1">i poznaj szczegóły na jego temat</p>
675			</div>
676		</div>
677	</div>
678</div>
679
680	
681
682<div class="offcanvas offcanvas-end extras-offcanvas" tabindex="-1" id="extrasOffcanvas">
683  <div class="offcanvas-header">
684    <div>
685      <h5 class="offcanvas-title">Dobierz dodatki</h5>
686      <div class="text-muted small" id="extrasApartmentLabel">Najpierw wybierz lokal</div>
687    </div>
688    <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Zamknij"></button>
689  </div>
690
691
692  <div class="offcanvas-body">
693    <div class="extras-search mb-3">
694      <input type="search" class="form-control" id="extrasSearch" placeholder="Szukaj po oznaczeniu, np. P12 albo K4">
695    </div>
696
697    <div class="extras-section mb-4">
698      <div class="d-flex align-items-center justify-content-between mb-2">
699        <h6 class="mb-0">Miejsca parkingowe</h6>
700        <span class="small text-muted">możesz wybrać wiele</span>
701      </div>
702      <div class="extras-grid" id="parkingList"></div>
703    </div>
704
705    <div class="extras-section mb-4">
706      <div class="d-flex align-items-center justify-content-between mb-2">
707        <h6 class="mb-0">Komórka lokatorska</h6>
708        <span class="small text-muted">wybierz jedną</span>
709      </div>
710      <div class="extras-grid" id="storageList"></div>
711    </div>
712  </div>
713
714  <div class="extras-summary-bar">
715    <div>
716      <div class="small text-muted">Razem</div>
717      <strong id="extrasTotalPrice">0 zł</strong>
718    </div>
719    <button type="button" class="btn btn-primary" data-bs-dismiss="offcanvas">
720      <i class="fa-solid fa-check" aria-hidden="true"></i> Zapisz wybór
721    </button>
722  </div>
723</div>
724
725<div class="modal fade" id="apartmentFloorplanModal" tabindex="-1" aria-labelledby="apartmentFloorplanModalLabel" aria-hidden="true">
726  <div class="modal-dialog modal-xl modal-dialog-centered modal-dialog-scrollable">
727    <div class="modal-content">
728      <div class="modal-header">
729        <h5 class="modal-title" id="apartmentFloorplanModalLabel">Rzut 3D lokalu</h5>
730        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Zamknij"></button>
731      </div>
732      <div class="modal-body text-center p-2 p-md-4">
733        <img id="apartmentFloorplanImage" src="" alt="" class="img-fluid" style="max-height: 80vh; object-fit: contain;">
734      </div>
735    </div>
736  </div>
737</div>
738
739<div class="modal fade" id="apartmentVirtualTourModal" tabindex="-1" aria-labelledby="apartmentVirtualTourModalLabel" aria-hidden="true">
740  <div class="modal-dialog modal-fullscreen">
741    <div class="modal-content">
742      <div class="modal-header">
743        <h5 class="modal-title" id="apartmentVirtualTourModalLabel">Spacer 3D</h5>
744        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Zamknij"></button>
745      </div>
746      <div class="modal-body p-0">
747        <iframe
748          id="apartmentVirtualTourFrame"
749          src="about:blank"
750          title="Spacer 3D po lokalu"
751          allow="fullscreen; xr-spatial-tracking; gyroscope; accelerometer"
752          allowfullscreen
753          style="display:block;width:100%;height:100%;min-height:calc(100vh - 58px);border:0;"
754        ></iframe>
755      </div>
756    </div>
757  </div>
758</div>
759
760<div class="modal fade offer-modal" id="offerContactModal" tabindex="-1" aria-hidden="true">
761  <div class="modal-dialog modal-dialog-centered modal-xl">
762    <form class="modal-content offer-modal__content" id="offerContactForm">
763      <input type="hidden" name="offer_summary" id="offerSummaryInput" value="">
764
765      <div class="offer-modal__header">
766        <div class="offer-modal__header-icon">
767          <i class="fa-regular fa-envelope"></i>
768        </div>
769
770        <div>
771          <h5 class="offer-modal__title">Zapytaj o wybraną ofertę</h5>
772          <p class="offer-modal__subtitle">Dane lokalu i dodatków zostaną dołączone do wiadomości.</p>
773        </div>
774
775        <button type="button" class="offer-modal__close" data-bs-dismiss="modal" aria-label="Zamknij">
776          <i class="fa-solid fa-xmark"></i>
777        </button>
778      </div>
779
780      <div class="offer-modal__body">
781        <div class="offer-modal__summary">
782          <div class="offer-modal__summary-icon">
783            <i class="fa-regular fa-building"></i>
784          </div>
785
786          <div>
787            <h6>Podsumowanie konfiguracji</h6>
788            <div id="offerSummaryPreview" class="offer-modal__summary-text"></div>
789          </div>
790        </div>
791
792        <div class="offer-form-grid">
793          <div class="offer-field">
794            <label for="offerName">Imię i nazwisko *</label>
795            <div class="offer-input">
796              <i class="fa-regular fa-user"></i>
797              <input id="offerName" name="name" autocomplete="name" required placeholder="Wpisz imię i nazwisko">
798            </div>
799          </div>
800
801          <div class="offer-field">
802            <label for="offerEmail">E-mail *</label>
803            <div class="offer-input">
804              <i class="fa-regular fa-envelope"></i>
805              <input id="offerEmail" name="email" type="email" autocomplete="email" required placeholder="Wpisz adres e-mail">
806            </div>
807          </div>
808
809          <div class="offer-field">
810            <label for="offerPhone">Telefon *</label>
811            <div class="offer-input">
812              <i class="fa-solid fa-phone"></i>
813              <input id="offerPhone" name="phone" autocomplete="tel" required placeholder="Wpisz numer telefonu">
814            </div>
815          </div>
816
817          <div class="offer-field offer-field--full">
818            <label for="offerMessage">Wiadomość <span>opcjonalnie</span></label>
819            <div class="offer-input offer-input--textarea">
820              <i class="fa-solid fa-pencil"></i>
821              <textarea id="offerMessage" name="message" rows="4" placeholder="Dodatkowe pytania lub preferowany termin kontaktu..."></textarea>
822            </div>
823          </div>
824        </div>
825		<div id="offerModalMessage"></div>
826      </div>
827		
828      <div class="offer-modal__footer">
829        <div class="offer-modal__safe">
830          <i class="fa-solid fa-lock"></i>
831          <div>
832            <strong>Twoje dane są bezpieczne.</strong>
833            <span>Wykorzystamy je wyłącznie do kontaktu w sprawie oferty.</span>
834          </div>
835        </div>
836
837        <div class="offer-modal__actions">
838          <button type="button" class="btn offer-btn offer-btn--light" data-bs-dismiss="modal">
839            <i class="fa-solid fa-xmark"></i>
840            Anuluj
841          </button>
842
843          <button type="submit" class="btn offer-btn offer-btn--primary">
844            <i class="fa-regular fa-envelope"></i>
845            Wyślij zapytanie
846          </button>
847        </div>
848      </div>
849    </form>
850  </div>
851</div>
852<script>
853document.addEventListener('DOMContentLoaded', function () {
854  const floorplanModal = document.getElementById('apartmentFloorplanModal');
855  const floorplanImage = document.getElementById('apartmentFloorplanImage');
856  const virtualTourModal = document.getElementById('apartmentVirtualTourModal');
857  const virtualTourFrame = document.getElementById('apartmentVirtualTourFrame');
858
859  if (floorplanModal && floorplanImage) {
860    floorplanModal.addEventListener('hidden.bs.modal', function () {
861      floorplanImage.removeAttribute('src');
862      floorplanImage.alt = '';
863    });
864  }
865
866  if (virtualTourModal && virtualTourFrame) {
867    virtualTourModal.addEventListener('hidden.bs.modal', function () {
868      // Zatrzymuje dźwięk, animację i zużycie zasobów po zamknięciu modala.
869      virtualTourFrame.src = 'about:blank';
870    });
871  }
872});
873</script>
873
874
875<section class="investment-module py-4 py-lg-5">
876  <div class="container-fluid px-lg-5">
877        <div class="row g-4 align-items-stretch investment-layout">
878
879      <div class="col-12 col-lg-8 d-flex">
880        <div class="investment-card w-100 h-100">
881          <div class="investment-card__header">
882            <h2 class="h4 mb-1">Wybierz budynek i kondygnację</h2>
883            <p class="mb-0 text-muted small">Kliknij obrys kondygnacji na wizualizacji inwestycji.</p>
884          </div>
885
886          <div class="investment-card__body investment-card__body--svg">
887            <div class="svg-stage building-stage" id="buildingStage">
888              <div class="overview-layer overview-layer--front is-active" data-view="front">
889                <svg
890  id="buildingOverviewSvg"
891  xmlns="http://www.w3.org/2000/svg"
892  xmlns:xlink="http://www.w3.org/1999/xlink"
893  viewBox="0 0 2000 1500"
894  preserveAspectRatio="xMidYMid slice"
895  class="w-100 h-100"
896>
897  <defs>
898    <style>
899      .floor-shape {
900        fill: #ffffff;
901        opacity: 0;
902        cursor: pointer;
903        transition: opacity .2s ease, fill .2s ease;
904      }
905      .floor-shape:hover {
906        opacity: .3;
907        fill: #198754;
908      }
909      .floor-shape.is-active {
910        opacity: .45;
911        fill: #0d6efd;
912      }
913    </style>
914  </defs>
915
916  <g id="Warstwa_1">
917    <image
918      width="2000"
919      height="1500"
920      xlink:href="assets/img/rezerwacja.jpg"
921      preserveAspectRatio="xMidYMid slice"
922    />
923  </g>
924
925  <g id="Warstwa_2">
926    <polygon id="B_1_1" class="floor-shape" points="1690.71 454.03 1550.97 555.26 1182.19 326.74 1199.61 314.35 1199.74 298.21 1332.1 379.12 1314.97 391.19 1315.16 394.23 1358.84 420.87 1377.49 407.17 1551.35 514.61 1571.23 527.36 1612.85 498.02 1593.55 486.23 1611.45 473.43 1631.52 485.47 1673.42 455.26 1654.32 442.48 1690.71 417.06 1690.71 454.03"/>
927    <polygon id="B_1_2" class="floor-shape" points="1180.13 286.23 1332.1 379.12 1314.97 391.19 1315.16 394.23 1358.84 420.87 1377.49 407.17 1571.23 527.36 1612.85 498.02 1593.55 486.23 1611.45 473.43 1631.52 485.47 1673.42 455.26 1654.32 442.48 1690.71 417.06 1690.71 377.39 1550.77 475.61 1179.64 244.89 1180.13 286.23"/>
928    <polygon id="B_1_3" class="floor-shape" points="1248.16 128.29 1179.64 244.89 1550.77 475.61 1692.05 376.44 1662.74 359 1663.13 329.19 1560.13 266.03 1539.11 281.43 1526 273.13 1526 263.13 1511.19 252.84 1511.48 213.06 1473.16 189.89 1444.45 211.97 1414.64 192.91 1414.8 175.45 1328.09 121.35 1300.43 141.33 1248.16 128.29"/>
929
930    <polygon id="B_2_1" class="floor-shape" points="1344.65 711.06 1204.9 812.29 836.13 583.77 853.55 571.39 853.68 555.51 986.04 636.15 968.9 648.23 969.1 651.26 1012.77 677.9 1031.43 664.2 1205.29 771.65 1225.17 784.4 1266.78 755.05 1247.48 743.26 1265.38 730.46 1285.46 742.51 1327.35 712.29 1308.26 699.52 1344.65 674.1 1344.65 711.06"/>
931    <polygon id="B_2_2" class="floor-shape" points="834.06 543.26 986.04 636.15 968.9 648.23 969.1 651.26 1012.77 677.9 1031.43 664.2 1225.17 784.4 1266.78 755.05 1247.48 743.26 1265.38 730.46 1285.46 742.51 1327.35 712.29 1308.26 699.52 1344.65 674.1 1344.65 634.42 1204.71 732.65 833.57 501.92 834.06 543.26"/>
932    <polygon id="B_2_3" class="floor-shape" points="902.1 385.32 833.57 501.92 1204.71 732.65 1345.99 633.48 1316.68 616.03 1317.06 586.23 1214.06 523.06 1193.05 538.46 1179.94 530.16 1179.94 520.16 1165.13 509.87 1165.42 470.1 1127.1 446.92 1098.39 469 1068.58 449.94 1068.73 432.48 982.03 378.38 954.36 398.36 902.1 385.32"/>
933
934    <polygon id="B_3_1" class="floor-shape" points="995.88 970.1 856.14 1071.32 487.37 842.81 504.79 830.42 504.91 814.27 637.27 895.18 620.14 907.26 620.33 910.29 664.01 936.94 682.66 923.23 856.53 1030.68 876.4 1043.43 918.02 1014.09 898.72 1002.29 916.62 989.49 936.69 1001.54 978.59 971.32 959.5 958.55 995.88 933.13 995.88 970.1"/>
935    <polygon id="B_3_2" class="floor-shape" points="485.3 802.29 637.27 895.18 620.14 907.26 620.33 910.29 664.01 936.94 682.66 923.23 876.4 1043.43 918.02 1014.09 898.72 1002.29 916.62 989.49 936.69 1001.54 978.59 971.32 959.5 958.55 995.88 933.13 995.88 893.45 855.95 991.68 484.81 760.95 485.3 802.29"/>
936    <polygon id="B_3_3" class="floor-shape" points="553.33 644.35 484.81 760.95 855.95 991.68 997.23 892.51 967.91 875.06 968.3 845.26 865.3 782.1 844.28 797.5 833.57 791.9 833.57 777.45 817.03 767.9 816.66 729.13 778.34 705.95 749.62 728.03 719.81 708.98 719.97 691.52 633.26 637.41 605.6 657.39 553.33 644.35"/>
937  </g>
938</svg>              </div>
939
940              <div class="overview-layer overview-layer--back" data-view="back">
941                <svg
942  id="buildingOverviewSvgBack"
943  xmlns="http://www.w3.org/2000/svg"
944  xmlns:xlink="http://www.w3.org/1999/xlink"
945  viewBox="0 0 2000 1500"
946  preserveAspectRatio="xMidYMid slice"
947  class="w-100 h-100"
948>
949  <defs>
950    <style>
951      .floor-shape {
952        fill: #ffffff;
953        opacity: 0;
954        cursor: pointer;
955        transition: opacity .2s ease, fill .2s ease;
956      }
957      .floor-shape:hover {
958        opacity: .3;
959        fill: #198754;
960      }
961      .floor-shape.is-active {
962        opacity: .45;
963        fill: #0d6efd;
964      }
965    </style>
966  </defs>
967
968  <g id="Warstwa_1_back">
969    <image
970      width="2000"
971      height="1500"
972      xlink:href="assets/img/rezerwacja2.jpg"
973      preserveAspectRatio="xMidYMid slice"
974    />
975  </g>
976
977  <g id="Warstwa_2_back">
978    <polygon id="back-B_1_1" data-floor-id="B_1_1" class="floor-shape" points="1680.3,1022.5 1268,1223 1146.8,1111.1 1146.8,1102.2 1162.6,1115.5 1184.8,1104.8 1201.3,1119.6 1177.2,1130.8 1215.4,1164.5 1237.2,1153.4 1268,1180 1680.3,982.6"/>
979    <polygon id="back-B_1_2" data-floor-id="B_1_2" class="floor-shape" points="1126.5,1083.9 1162.6,1115.5 1184.8,1104.8 1201.3,1119.6 1177.2,1130.8 1215.4,1164.5 1237.2,1153.4 1268,1180 1680.3,982.6 1680.3,940.4 1267.2,1141.7 1146.8,1031.8 1146.8,1062.7 1126.5,1068.9"/>
980    <polygon id="back-B_1_3" data-floor-id="B_1_3" class="floor-shape" points="1620.2,819.8 1680.3,940.4 1267.2,1141.7 1146.8,1031.8 1190.2,1011.9 1190.8,1000.7 1305,946.1 1317.9,952.8 1317.9,926 1413.5,878.5 1436.6,898.4 1437.2,881.1 1553.8,823.8 1563.1,830.5"/>
981
982    <polygon id="back-B_2_1" data-floor-id="B_2_1" class="floor-shape" points="1382.2,765.8 969.9,966.4 848.8,854.5 848.8,845.6 864.6,858.8 886.7,848.1 903.2,862.9 879.1,874.1 917.3,907.9 939.1,896.7 969.9,923.4 1382.2,726"/>
983    <polygon id="back-B_2_2" data-floor-id="B_2_2" class="floor-shape" points="828.4,827.3 864.6,858.8 886.7,848.1 903.2,862.9 879.1,874.1 917.3,907.9 939.1,896.7 969.9,923.4 1382.2,726 1382.2,683.8 969.2,885.1 848.8,775.1 848.8,806.1 828.4,812.3"/>
984    <polygon id="back-B_2_3" data-floor-id="B_2_3" class="floor-shape" points="1322.1,563.2 1382.2,683.8 969.2,885.1 848.8,775.1 892.2,755.2 892.7,744 1007,689.5 1019.9,696.2 1019.9,669.3 1115.5,621.8 1138.6,641.7 1139.2,624.4 1255.7,567.1 1265,573.8"/>
985
986    <polygon id="back-B_3_1" data-floor-id="B_3_1" class="floor-shape" points="1080.5,504.9 668.2,705.4 547.1,593.6 547.1,584.6 562.9,597.9 585,587.2 601.5,602 577.4,613.2 615.6,647 637.4,635.8 668.2,662.5 1080.5,465"/>
987    <polygon id="back-B_3_2" data-floor-id="B_3_2" class="floor-shape" points="526.7,566.3 562.9,597.9 585,587.2 601.5,602 577.4,613.2 615.6,647 637.4,635.8 668.2,662.5 1080.5,465 1080.5,422.8 667.5,624.1 547.1,514.2 547.1,545.2 526.7,551.4"/>
988    <polygon id="back-B_3_3" data-floor-id="B_3_3" class="floor-shape" points="1020.4,302.2 1080.5,422.8 667.5,624.1 547.1,514.2 590.5,494.3 591,483.1 705.3,428.5 718.2,435.2 718.2,408.4 813.8,360.9 836.9,380.8 837.5,363.5 954,306.2 963.3,312.9"/>
989  </g>
990</svg>              </div>
991
992              <video
993                id="buildingRotateVideo"
994                class="overview-video"
995                muted
996                playsinline
997                preload="auto"
998              ></video>
999
1000              <button id="rotateViewBtn" class="rotate-view-btn" type="button">
1001                Obróć widok
1002              </button>
1003            </div>
1004          </div>
1005        </div>
1006      </div>
1007
1008      <div class="col-12 col-lg-4 d-flex">
1009        <div class="right-column w-100 h-100 d-flex flex-column gap-4">
1010
1011          <div class="investment-card floorplan-card d-flex flex-column">
1012            <div class="investment-card__header d-flex flex-wrap align-items-center gap-2">
1013              <div>
1014                <h3 class="h5 mb-1">Rzut kondygnacji</h3>
1015                <p class="mb-0 text-muted small" id="selectedFloorLabel">Wybierz kondygnację z wizualizacji po lewej stronie.</p>
1016              </div>
1017
1018              <div class="status-legend d-flex flex-wrap gap-2">
1019                <span class="legend-item"><span class="legend-color is-available"></span>Wolny</span>
1020                <span class="legend-item"><span class="legend-color is-reserved"></span>Rezerwacja</span>
1021                <span class="legend-item"><span class="legend-color is-sold"></span>Sprzedany</span>
1022              </div>
1023            </div>
1024
1025            <div class="investment-card__body investment-card__body--svg">
1026              <div class="svg-stage" id="floorplanStage">
1027                <div class="placeholder-message">Najpierw wybierz kondygnację.</div>
1028              </div>
1029            </div>
1030          </div>
1031
1032          <div class="investment-card details-card">
1033            <div class="investment-card__header">
1034              <h3 class="h5 mb-1">Szczegóły lokalu</h3>
1035              <p class="mb-0 text-muted small">Kliknij lokal na rzucie kondygnacji.</p>
1036            </div>
1037
1038            <div class="investment-card__body">
1039              <div id="apartmentDetails">
1040                <div class="placeholder-message placeholder-message--details">
1041                  Po wybraniu lokalu pojawią się tutaj jego dane.
1042                </div>
1043              </div>
1044            </div>
1045          </div>
1046
1047        </div>
1048      </div>
1049
1050    </div>
1051
1052    <div class="row mt-4">
1053      <div class="col-12">
1054        <div class="investment-card offer-config-card" id="offerConfigCard">
1055          <div class="offer-config-hero">
1056            <div>
1057              <span class="offer-config-eyebrow">Konfigurator</span>
1058              <h3 class="h4 mb-1">Konfiguracja oferty</h3>
1059              <p class="mb-0 text-muted small">Dobierz dodatki, sprawdź podsumowanie i wyślij zapytanie do biura sprzedaży.</p>
1060            </div>
1061            <button
1062              type="button"
1063              class="btn btn-outline-primary btn-icon"
1064              id="offerConfigChooseExtrasBtn"
1065              data-bs-toggle="offcanvas"
1066              data-bs-target="#extrasOffcanvas"
1067              disabled
1068            >
1069              <i class="fa-solid fa-plus" aria-hidden="true"></i> Dobierz dodatki
1070            </button>
1071          </div>
1072
1073          <div class="investment-card__body offer-config-body">
1074            <div id="offerConfigPlaceholder" class="placeholder-message placeholder-message--config">
1075              Wybierz lokal na rzucie kondygnacji, aby skonfigurować ofertę.
1076            </div>
1077
1078            <div id="offerConfigContent" class="offer-config-content d-none">
1079              <div class="offer-config-grid">
1080                <div class="offer-config-section offer-config-section--apartment">
1081                  <div class="offer-section-topline">
1082                    <div>
1083                      <span class="offer-config-eyebrow">Wybrany lokal</span>
1084                      <div class="offer-config-section__title" id="configApartmentTitle">Lokal</div>
1085                    </div>
1086                    <span class="offer-mini-badge" id="configApartmentBadge">Budynek</span>
1087                  </div>
1088                  <div class="config-summary-grid config-summary-grid--apartment" id="configApartmentSummary"></div>
1089                </div>
1090
1091                <div class="offer-config-section offer-config-section--extras">
1092                  <div class="offer-section-topline">
1093                    <div>
1094                      <span class="offer-config-eyebrow">Dodatki</span>
1095                      <div class="offer-config-section__title">Parking i komórka</div>
1096                    </div>
1097                    <button
1098                      type="button"
1099                      class="btn btn-outline-primary btn-sm btn-icon"
1100                      data-bs-toggle="offcanvas"
1101                      data-bs-target="#extrasOffcanvas"
1102                    >
1103                      <i class="fa-solid fa-pen" aria-hidden="true"></i> Zmień
1104                    </button>
1105                  </div>
1106                  <div class="config-summary-grid config-summary-grid--extras" id="selectedExtrasSummary"></div>
1107                  <div class="offer-config-note">
1108                    <i class="fa-solid fa-circle-info" aria-hidden="true"></i>
1109                    Możesz wybrać wiele miejsc parkingowych oraz maksymalnie jedną komórkę lokatorską.
1110                  </div>
1111                </div>
1112
1113                <div class="offer-config-section offer-config-section--summary">
1114                  <span class="offer-config-eyebrow">Podsumowanie</span>
1115                  <div class="summary-breakdown">
1116                    <div><span>Cena lokalu</span><strong id="summaryApartmentPrice">0 zł</strong></div>
1117                    <div><span>Dodatki</span><strong id="summaryExtrasPrice">0 zł</strong></div>
1118                  </div>
1119                  <div class="summary-total-row">
1120                    <span>Łącznie</span>
1121                    <strong id="offerTotalBox">0 zł</strong>
1122                  </div>
1123                  <div class="details-actions offer-config-actions">
1124                    <button type="button" class="btn btn-primary btn-icon" id="offerContactBtn">
1125                      <i class="fa-regular fa-envelope" aria-hidden="true"></i> Zapytaj o ofertę
1126                    </button>
1127                    <button type="button" class="btn btn-outline-primary btn-icon" id="offerPdfBtn">
1128                      <i class="fa-solid fa-download" aria-hidden="true"></i> Pobierz PDF
1129                    </button>
1130                  </div>
1131                  <div class="text-muted small mt-3">PDF i formularz uwzględniają aktualnie wybrany lokal oraz dodatki.</div>
1132                </div>
1133              </div>
1134            </div>
1135          </div>
1136        </div>
1137      </div>
1138    </div>
1139  </div>
1140
1141      <template id="tpl-B_1_1">
1142      <svg id="budynek_1_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 127.18 56.69">
1143  <defs><style>.cls-1{fill:#fff;}</style></defs>
1144  <image width="673" height="300" transform="scale(.19)" xlink:href="assets/img/plany/B_P_1.jpg"/>
1145  <polygon id="B1_M1" class="cls-1" points="63.59 30.16 97.68 30.16 97.68 38.42 126.45 38.42 126.45 56.69 63.59 56.69 63.59 30.16"/>
1146  <polygon id="B1_M2" class="cls-1" points="29.65 30.16 63.59 30.16 63.59 56.69 8.13 56.69 8.13 38.94 29.68 38.94 29.65 30.16"/>
1147  <polygon id="B1_M3" class="cls-1" points="41.74 6.42 41.74 30.16 29.65 30.16 29.65 38.94 .32 38.94 .32 6.23 41.74 6.42"/>
1148</svg>    </template>
1149      <template id="tpl-B_1_2">
1150      <svg id="budynek_1_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 127.18 56.69">
1151  <defs><style>.cls-1{fill:#fff;}</style></defs>
1152  <image width="673" height="300" transform="scale(.19)" xlink:href="assets/img/plany/B_P_2.jpg"/>
1153  <polygon id="B1_M5" class="cls-1" points="77.68 27.39 98 27.39 98 35.81 126.74 35.81 126.74 53.32 77.68 53.32 77.68 27.39"/>
1154  <polygon id="B1_M4" class="cls-1" points="65.68 3.97 126.74 3.97 126.74 35.81 98 35.81 98 27.39 84.65 27.39 84.65 18.87 77.68 18.87 77.68 11.81 65.68 11.81 65.68 3.97"/>
1155  <rect id="B1_M6" class="cls-1" x="50.45" y="27.39" width="27.23" height="25.94"/>
1156  <polygon id="B1_M7" class="cls-1" points="7.48 35.81 29.16 35.81 29.16 27.39 50.45 27.39 50.45 53.32 7.48 53.32 7.48 35.81"/>
1157  <polygon id="B1_M8" class="cls-1" points="53.77 3.97 53.77 13.74 41.68 13.74 41.68 27.39 29.16 27.39 29.16 35.81 .55 35.81 .55 3.97 53.77 3.97"/>
1158</svg>    </template>
1159      <template id="tpl-B_1_3">
1160      <svg id="budynek_1_3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 127.18 56.69">
1161  <defs><style>.cls-1{fill:#fff;}</style></defs>
1162  <image width="673" height="300" transform="scale(.19)" xlink:href="assets/img/plany/B_P_3.jpg"/>
1163  <polygon id="B1_M9" class="cls-1" points="86.42 9.87 119.77 9.87 119.77 15.48 126.06 15.48 126.06 45.48 81.45 45.48 81.45 30.19 77.19 30.19 77.19 17.52 86.48 17.52 86.42 9.87"/>
1164  <polygon id="B1_M10" class="cls-1" points="47.58 30.19 81.45 30.19 81.45 45.48 78.06 45.48 78.06 49.74 50.19 49.74 50.19 44.81 47.58 44.81 47.58 30.19"/>
1165  <polygon id="B1_M11" class="cls-1" points="7.23 9.87 35.19 9.87 35.19 16.84 50.68 16.84 50.68 30.19 47.58 30.19 47.58 44.81 44.19 44.81 44.19 45.97 7.23 45.97 7.23 45.48 1.03 45.48 1.03 16.16 7.13 16.16 7.23 9.87"/>
1166</svg>    </template>
1167      <template id="tpl-B_2_1">
1168      <svg id="budynek_2_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 127.18 56.69">
1169  <defs><style>.cls-1{fill:#fff;}</style></defs>
1170  <image width="673" height="300" transform="scale(.19)" xlink:href="assets/img/plany/B_P_1.jpg"/>
1171  <polygon id="B2_M1" class="cls-1" points="63.59 30.16 97.68 30.16 97.68 38.42 126.45 38.42 126.45 56.69 63.59 56.69 63.59 30.16"/>
1172  <polygon id="B2_M2" class="cls-1" points="29.65 30.16 63.59 30.16 63.59 56.69 8.13 56.69 8.13 38.94 29.68 38.94 29.65 30.16"/>
1173  <polygon id="B2_M3" class="cls-1" points="41.74 6.42 41.74 30.16 29.65 30.16 29.65 38.94 .32 38.94 .32 6.23 41.74 6.42"/>
1174</svg>    </template>
1175      <template id="tpl-B_2_2">
1176      <svg id="budynek_2_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewB
1176ox="0 0 127.18 56.69">
1177  <defs><style>.cls-1{fill:#fff;}</style></defs>
1178  <image width="673" height="300" transform="scale(.19)" xlink:href="assets/img/plany/B_P_2.jpg"/>
1179  <polygon id="B2_M5" class="cls-1" points="77.68 27.39 98 27.39 98 35.81 126.74 35.81 126.74 53.32 77.68 53.32 77.68 27.39"/>
1180  <polygon id="B2_M4" class="cls-1" points="65.68 3.97 126.74 3.97 126.74 35.81 98 35.81 98 27.39 84.65 27.39 84.65 18.87 77.68 18.87 77.68 11.81 65.68 11.81 65.68 3.97"/>
1181  <rect id="B2_M6" class="cls-1" x="50.45" y="27.39" width="27.23" height="25.94"/>
1182  <polygon id="B2_M7" class="cls-1" points="7.48 35.81 29.16 35.81 29.16 27.39 50.45 27.39 50.45 53.32 7.48 53.32 7.48 35.81"/>
1183  <polygon id="B2_M8" class="cls-1" points="53.77 3.97 53.77 13.74 41.68 13.74 41.68 27.39 29.16 27.39 29.16 35.81 .55 35.81 .55 3.97 53.77 3.97"/>
1184</svg>    </template>
1185      <template id="tpl-B_2_3">
1186      <svg id="budynek_2_3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 127.18 56.69">
1187  <defs><style>.cls-1{fill:#fff;}</style></defs>
1188  <image width="673" height="300" transform="scale(.19)" xlink:href="assets/img/plany/B_P_3.jpg"/>
1189  <polygon id="B2_M9" class="cls-1" points="86.42 9.87 119.77 9.87 119.77 15.48 126.06 15.48 126.06 45.48 81.45 45.48 81.45 30.19 77.19 30.19 77.19 17.52 86.48 17.52 86.42 9.87"/>
1190  <polygon id="B2_M10" class="cls-1" points="47.58 30.19 81.45 30.19 81.45 45.48 78.06 45.48 78.06 49.74 50.19 49.74 50.19 44.81 47.58 44.81 47.58 30.19"/>
1191  <polygon id="B2_M11" class="cls-1" points="7.23 9.87 35.19 9.87 35.19 16.84 50.68 16.84 50.68 30.19 47.58 30.19 47.58 44.81 44.19 44.81 44.19 45.97 7.23 45.97 7.23 45.48 1.03 45.48 1.03 16.16 7.13 16.16 7.23 9.87"/>
1192</svg>    </template>
1193      <template id="tpl-B_3_1">
1194      <svg id="budynek_3_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 127.18 56.69">
1195  <defs><style>.cls-1{fill:#fff;}</style></defs>
1196  <image width="673" height="300" transform="scale(.19)" xlink:href="assets/img/plany/B_3_1.jpg"/>
1197  <polygon id="B3_M1" class="cls-1" points="77.58 30 97.71 30 97.71 38.03 126.16 38.03 126.16 55.65 77.58 55.65 77.58 30"/>
1198  <rect id="B3_M2" class="cls-1" x="50.45" y="30" width="27.13" height="25.65"/>
1199  <polygon id="B3_M3" class="cls-1" points="29.58 30 50.45 30 50.45 55.65 8.1 55.65 8.1 38.71 29.52 38.71 29.58 30"/>
1200  <polygon id="B3_M4" class="cls-1" points="41.81 6.16 41.81 30 29.58 30 29.58 38.71 1.16 38.71 1.16 6.16 41.81 6.16"/>
1201</svg>    </template>
1202      <template id="tpl-B_3_2">
1203      <svg id="budynek_3_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 127.18 56.69">
1204  <defs><style>.cls-1{fill:#fff;}</style></defs>
1205  <image width="673" height="300" transform="scale(.19)" xlink:href="assets/img/plany/B_P_2.jpg"/>
1206  <polygon id="B3_M6" class="cls-1" points="77.68 27.39 98 27.39 98 35.81 126.74 35.81 126.74 53.32 77.68 53.32 77.68 27.39"/>
1207  <polygon id="B3_M5" class="cls-1" points="65.68 3.97 126.74 3.97 126.74 35.81 98 35.81 98 27.39 84.65 27.39 84.65 18.87 77.68 18.87 77.68 11.81 65.68 11.81 65.68 3.97"/>
1208  <rect id="B3_M7" class="cls-1" x="50.45" y="27.39" width="27.23" height="25.94"/>
1209  <polygon id="B3_M8" class="cls-1" points="7.48 35.81 29.16 35.81 29.16 27.39 50.45 27.39 50.45 53.32 7.48 53.32 7.48 35.81"/>
1210  <polygon id="B3_M9" class="cls-1" points="53.77 3.97 53.77 13.74 41.68 13.74 41.68 27.39 29.16 27.39 29.16 35.81 .55 35.81 .55 3.97 53.77 3.97"/>
1211</svg>    </template>
1212      <template id="tpl-B_3_3">
1213      <svg id="budynek_3_3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 127.18 56.69">
1214  <defs><style>.cls-1{fill:#fff;}</style></defs>
1215  <image width="673" height="300" transform="scale(.19)" xlink:href="assets/img/plany/B_P_3.jpg"/>
1216  <polygon id="B3_M10" class="cls-1" points="86.42 9.87 119.77 9.87 119.77 15.48 126.06 15.48 126.06 45.48 81.45 45.48 81.45 30.19 77.19 30.19 77.19 17.52 86.48 17.52 86.42 9.87"/>
1217  <polygon id="B3_M11" class="cls-1" points="47.58 30.19 81.45 30.19 81.45 45.48 78.06 45.48 78.06 49.74 50.19 49.74 50.19 44.81 47.58 44.81 47.58 30.19"/>
1218  <polygon id="B3_M12" class="cls-1" points="7.23 9.87 35.19 9.87 35.19 16.84 50.68 16.84 50.68 30.19 47.58 30.19 47.58 44.81 44.19 44.81 44.19 45.97 7.23 45.97 7.23 45.48 1.03 45.48 1.03 16.16 7.13 16.16 7.23 9.87"/>
1219</svg>    </template>
1220  </section>
1221
1222<style>
1223  .investment-module {
1224    --card-border: #e9ecef;
1225    --card-bg: #ffffff;
1226    --card-radius: 20px;
1227    --shadow: 0 10px 30px rgba(0,0,0,.06);
1228
1229
1230    --status-available: #198754;
1231    --status-reserved: #fd7e14;
1232    --status-sold: #dc3545;
1233  }
1234
1235  .investment-layout {
1236    min-height: 780px;
1237  }
1238
1239  .investment-card {
1240    background: var(--card-bg);
1241    border: 1px solid var(--card-border);
1242    border-radius: var(--card-radius);
1243    box-shadow: var(--shadow);
1244    overflow: hidden;
1245  }
1246
1247  .investment-card__header {
1248    padding: .85rem 1rem;
1249    border-bottom: 1px solid var(--card-border);
1250    background: #fff;
1251  }
1252
1253  .investment-card__body {
1254    padding: .85rem 1rem;
1255  }
1256
1257  .investment-card__body--svg {
1258    flex: 1 1 auto;
1259    min-height: 320px;
1260  }
1261
1262  .right-column {
1263  min-height: 100%;
1264}
1265
1266.floorplan-card {
1267  /*flex: 0 0 42%;*/
1268  min-height: 320px;
1269}
1270
1271.details-card {
1272  flex: 1 1 58%;
1273  display: flex;
1274  flex-direction: column;
1275}
1276
1277.details-card .investment-card__body {
1278  flex: 1 1 auto;
1279  overflow: auto;
1280}
1281
1282.investment-card__body--svg {
1283  flex: 1 1 auto;
1284  min-height: 220px;
1285  padding: .75rem 1rem;
1286}
1287
1288#floorplanStage.svg-stage {
1289  min-height: 220px;
1290  display: flex;
1291  align-items: center;
1292  justify-content: center;
1293}
1294
1295#floorplanStage svg {
1296  width: 100%;
1297  height: 100%;
1298  object-fit: contain;
1299}
1300
1301  .svg-stage {
1302    position: relative;
1303    width: 100%;
1304    height: 100%;
1305    min-height: 320px;
1306    border-radius: 14px;
1307    background: #f8f9fa;
1308    overflow: hidden;
1309  }
1310
1311  .svg-stage svg {
1312    display: block;
1313    width: 100%;
1314    height: 100%;
1315  }
1316
1317  .building-stage {
1318    isolation: isolate;
1319    position: relative;
1320    width: 100%;
1321    height: 100%;
1322    min-height: 720px;
1323  }
1324
1325  .building-stage .overview-layer,
1326  .building-stage .overview-video {
1327    position: absolute;
1328    inset: 0;
1329    width: 100%;
1330    height: 100%;
1331  }
1332
1333  .building-stage .overview-layer {
1334    opacity: 0;
1335    pointer-events: none;
1336    z-index: 1;
1337    transition: opacity .2s ease;
1338  }
1339
1340  .building-stage .overview-layer.is-active {
1341    opacity: 1;
1342    pointer-events: auto;
1343  }
1344
1345  .building-stage .overview-layer svg,
1346  .building-stage .overview-video {
1347    position: absolute;
1348    inset: 0;
1349    width: 100%;
1350    height: 100%;
1351    display: block;
1352  }
1353
1354  .building-stage .overview-video {
1355    object-fit: cover;
1356    opacity: 0;
1357    pointer-events: none;
1358    z-index: 2;
1359    background: #000;
1360  }
1361
1362  .building-stage.is-rotating .overview-layer {
1363    opacity: 0;
1364    pointer-events: none;
1365  }
1366
1367  .building-stage.is-rotating .overview-video {
1368    opacity: 1;
1369  }
1370
1371  .rotate-view-btn {
1372    position: absolute;
1373    right: 1rem;
1374    bottom: 1rem;
1375    z-index: 3;
1376    border: 0;
1377    border-radius: 999px;
1378    padding: .7rem 1rem;
1379    background: rgba(33,37,41,.9);
1380    color: #fff;
1381    font-weight: 700;
1382    font-size: .9rem;
1383    line-height: 1;
1384    cursor: pointer;
1385    box-shadow: 0 8px 20px rgba(0,0,0,.18);
1386    transition: transform .2s ease, background .2s ease, opacity .2s ease;
1387  }
1388
1389  .rotate-view-btn:hover {
1390    background: rgba(0,0,0,.95);
1391    transform: translateY(-1px);
1392  }
1393
1394  .rotate-view-btn:disabled {
1395    opacity: .55;
1396    cursor: default;
1397    transform: none;
1398  }
1399
1400  .placeholder-message {
1401    display: flex;
1402    align-items: center;
1403    justify-content: center;
1404    min-height: 320px;
1405    text-align: center;
1406    color: #6c757d;
1407    padding: 2rem;
1408    background: linear-gradient(135deg, rgba(13,110,253,.04), rgba(25,135,84,.04));
1409    border: 1px dashed #ced4da;
1410    border-radius: 14px;
1411    font-size: 1rem;
1412  }
1413
1414  .placeholder-message--details {
1415    min-height: 120px;
1416  }
1417
1418  .status-legend {
1419    font-size: .85rem;
1420    color: #495057;
1421  }
1422
1423  .legend-item {
1424    display: inline-flex;
1425    align-items: center;
1426    gap: .4rem;
1427    background: #f8f9fa;
1428    border: 1px solid #e9ecef;
1429    border-radius: 999px;
1430    padding: .35rem .65rem;
1431  }
1432
1433  .legend-color {
1434    width: 12px;
1435    height: 12px;
1436    border-radius: 50%;
1437    display: inline-block;
1438  }
1439
1440  .legend-color.is-available { background: var(--status-available); }
1441  .legend-color.is-reserved { background: var(--status-reserved); }
1442  .legend-color.is-sold { background: var(--status-sold); }
1443
1444  #buildingOverviewSvg .floor-shape {
1445    fill: #ffffff;
1446    opacity: 0;
1447    cursor: pointer;
1448    transition: opacity .2s ease, fill .2s ease;
1449  }
1450
1451  #buildingOverviewSvg .floor-shape:hover {
1452    opacity: .3;
1453    fill: #198754;
1454  }
1455
1456  #buildingOverviewSvg .floor-shape.is-active {
1457    opacity: .45;
1458    fill: #0d6efd;
1459  }
1460
1461  #floorplanStage svg [id^="B"] {
1462    cursor: pointer;
1463    transition: opacity .2s ease, stroke .2s ease, transform .2s ease;
1464    stroke: #ffffff;
1465    stroke-width: .5;
1466    vector-effect: non-scaling-stroke;
1467    opacity: .5;
1468  }
1469
1470  #floorplanStage svg [id^="B"]:hover {
1471    opacity: .7;
1472  }
1473
1474  #floorplanStage svg [id^="B"].is-selected {
1475    stroke: #0d6efd;
1476    stroke-width: 1.2;
1477    opacity: .8;
1478  }
1479
1480  #floorplanStage svg [id^="B"].wolny {
1481    fill: #198754;
1482  }
1483
1484  #floorplanStage svg [id^="B"].rezerwacja {
1485    fill: #fd7e14;
1486  }
1487
1488  #floorplanStage svg [id^="B"].sprzedany {
1489    fill: #dc3545;
1490  }
1491
1492  #floorplanStage svg [id^="B"].is-disabled {
1493    fill: #adb5bd;
1494    cursor: default;
1495    opacity: .7;
1496  }
1497
1498  .details-grid {
1499    display: grid;
1500    grid-template-columns: repeat(2, minmax(0, 1fr));
1501    gap: .85rem 1.25rem;
1502  }
1503
1504  .detail-box {
1505    background: #f8f9fa;
1506    border: 1px solid #e9ecef;
1507    border-radius: 14px;
1508    padding: .85rem 1rem;
1509  }
1510
1511  .detail-box__label {
1512    display: block;
1513    font-size: .75rem;
1514    text-transform: uppercase;
1515    letter-spacing: .04em;
1516    color: #6c757d;
1517    margin-bottom: .2rem;
1518  }
1519
1520  .detail-box__value {
1521    font-weight: 700;
1522    color: #212529;
1523    word-break: break-word;
1524  }
1525
1526  .price-main {
1527    font-size: 1.2rem;
1528    font-weight: 700;
1529    line-height: 1.2;
1530  }
1531
1532  .price-sub {
1533    font-size: .85rem;
1534    color: #6c757d;
1535    margin-top: .25rem;
1536  }
1537
1538  .status-badge-custom {
1539    display: inline-flex;
1540    align-items: center;
1541    gap: .4rem;
1542    padding: .45rem .75rem;
1543    border-radius: 999px;
1544    font-weight: 700;
1545    font-size: .85rem;
1546  }
1547
1548  .status-badge-custom.status-available {
1549    color: #0f5132;
1550    background: rgba(25,135,84,.12);
1551  }
1552
1553  .status-badge-custom.status-reserved {
1554    color: #7a3e00;
1555    background: rgba(253,126,20,.14);
1556  }
1557
1558  .status-badge-custom.status-sold {
1559    color: #842029;
1560    background: rgba(220,53,69,.12);
1561  }
1562
1563  .details-actions {
1564    display: grid;
1565    grid-template-columns: repeat(2, minmax(0, 1fr));
1566    gap: .75rem;
1567    margin-top: 1rem;
1568  }
1569
1570  .details-actions .btn {
1571    width: 100%;
1572    min-width: 0;
1573  }
1574
1575@media (max-width: 991.98px) {
1576  .investment-layout {
1577    min-height: auto;
1578  }
1579
1580  .floorplan-card {
1581    flex: 0 0 auto;
1582    min-height: auto;
1583  }
1584
1585  .details-card {
1586    flex: 0 0 auto;
1587  }
1588
1589  .investment-card__body--svg,
1590  .svg-stage,
1591  .placeholder-message {
1592    min-height: 260px;
1593  }
1594
1595  .building-stage {
1596    min-height: 420px;
1597  }
1598
1599  #floorplanStage.svg-stage {
1600    min-height: 260px;
1601  }
1602
1603  .placeholder-message--details {
1604    min-height: 140px;
1605  }
1606
1607  .details-grid {
1608    grid-template-columns: 1fr;
1609  }
1610
1611  .details-actions {
1612    grid-template-columns: 1fr;
1613  }
1614
1615  .details-actions .btn {
1616    width: 100%;
1617    min-width: 0;
1618  }
1619}
1620
1621
1622  /* --- Premium konfigurator oferty --- */
1623  .investment-module {
1624    --premium-green: #214d37;
1625    --premium-green-dark: #183b2a;
1626    --premium-line: rgba(33, 77, 55, .12);
1627    --premium-soft: #f6f3ee;
1628    --premium-soft-2: #fbfaf8;
1629  }
1630
1631  .btn-icon {
1632    display: inline-flex;
1633    align-items: center;
1634    justify-content: center;
1635    gap: .5rem;
1636  }
1637
1638  .offer-config-card {
1639    scroll-margin-top: 1rem;
1640    border-color: var(--premium-line);
1641    background: linear-gradient(180deg, #fff, var(--premium-soft-2));
1642  }
1643
1644  .offer-config-hero {
1645    display: flex;
1646    align-items: center;
1647    justify-content: space-between;
1648    gap: 1rem;
1649    padding: 1.15rem 1.35rem;
1650    border-bottom: 1px solid var(--premium-line);
1651    background:
1652      radial-gradient(circle at 90% 0%, rgba(33,77,55,.08), transparent 28%),
1653      #fff;
1654  }
1655
1656  .offer-config-body {
1657    padding: 1rem;
1658  }
1659
1660  .offer-config-content.d-none,
1661  .placeholder-message--config.d-none {
1662    display: none !important;
1663  }
1664
1665  .offer-config-eyebrow {
1666    display: inline-flex;
1667    margin-bottom: .25rem;
1668    font-size: .72rem;
1669    font-weight: 700;
1670    letter-spacing: .08em;
1671    text-transform: uppercase;
1672    color: var(--premium-green);
1673  }
1674
1675  .offer-config-grid {
1676    display: grid;
1677    grid-template-columns: minmax(260px, .95fr) minmax(320px, 1.2fr) minmax(280px, .85fr);
1678    gap: 1rem;
1679    align-items: stretch;
1680  }
1681
1682  .offer-config-section {
1683    position: relative;
1684    min-height: 100%;
1685    border: 1px solid var(--premium-line);
1686    border-radius: 18px;
1687    background: rgba(255,255,255,.78);
1688    padding: 1.05rem;
1689    box-shadow: 0 18px 40px rgba(33,77,55,.055);
1690  }
1691
1692  .offer-config-section--summary {
1693    background: linear-gradient(145deg, #fff, #f8f5ef);
1694  }
1695
1696  .offer-section-topline {
1697    display: flex;
1698    align-items: flex-start;
1699    justify-content: space-between;
1700    gap: 1rem;
1701    margin-bottom: .95rem;
1702  }
1703
1704  .offer-config-section__title {
1705    font-weight: 800;
1706    color: #171717;
1707    margin-bottom: 0;
1708    font-size: 1.05rem;
1709  }
1710
1711  .offer-mini-badge {
1712    display: inline-flex;
1713    align-items: center;
1714    white-space: nowrap;
1715    border-radius: 999px;
1716    padding: .35rem .65rem;
1717    font-size: .78rem;
1718    font-weight: 700;
1719    color: var(--premium-green);
1720    background: rgba(33,77,55,.08);
1721  }
1722
1723  .config-summary-grid {
1724    display: grid;
1725    grid-template-columns: repeat(2, minmax(0, 1fr));
1726    gap: .7rem;
1727  }
1728
1729  .config-pill {
1730    position: relative;
1731    display: grid;
1732    grid-template-columns: 32px 1fr;
1733    grid-template-areas: "icon label" "icon value";
1734    column-gap: .65rem;
1735    align-items: center;
1736    min-height: 72px;
1737    border: 1px solid rgba(33,77,55,.10);
1738    border-radius: 16px;
1739    background: #fff;
1740    padding: .8rem .9rem;
1741  }
1742
1743  .config-pill--wide {
1744    grid-column: 1 / -1;
1745  }
1746
1747  .config-pill i {
1748    grid-area: icon;
1749    display: inline-flex;
1750    align-items: center;
1751    justify-content: center;
1752    width: 32px;
1753    height: 32px;
1754    border-radius: 999px;
1755    color: var(--premium-green);
1756    background: rgba(33,77,55,.08);
1757  }
1758
1759  .config-pill span {
1760    grid-area: label;
1761    display: block;
1762    font-size: .68rem;
1763    text-transform: uppercase;
1764    letter-spacing: .06em;
1765    color: #6c757d;
1766    margin-bottom: .12rem;
1767  }
1768
1769  .config-pill strong {
1770    grid-area: value;
1771    display: block;
1772    color: #151515;
1773    word-break: break-word;
1774    line-height: 1.25;
1775  }
1776
1777  .offer-config-note {
1778    display: flex;
1779    align-items: center;
1780    gap: .6rem;
1781    margin-top: .9rem;
1782    border-radius: 14px;
1783    padding: .75rem .85rem;
1784    font-size: .86rem;
1785    color: #555;
1786    background: var(--premium-soft);
1787  }
1788
1789  .offer-config-note i {
1790    color: var(--premium-green);
1791  }
1792
1793  .summary-breakdown {
1794    display: grid;
1795    gap: .55rem;
1796    margin: .8rem 0 .9rem;
1797    padding-bottom: .85rem;
1798    border-bottom: 1px solid rgba(33,77,55,.14);
1799  }
1800
1801  .summary-breakdown div,
1802  .summary-total-row {
1803    display: flex;
1804    align-items: center;
1805    justify-content: space-between;
1806    gap: 1rem;
1807  }
1808
1809  .summary-breakdown span,
1810  .summary-total-row span {
1811    color: #6c757d;
1812    font-size: .92rem;
1813  }
1814
1815  .summary-breakdown strong {
1816    font-weight: 700;
1817    color: #222;
1818  }
1819
1820  .summary-total-row {
1821    margin-bottom: 1rem;
1822  }
1823
1824  .summary-total-row strong {
1825    font-size: 1.65rem;
1826    line-height: 1.05;
1827    color: var(--premium-green);
1828    font-weight: 900;
1829  }
1830
1831  .offer-config-actions {
1832    flex-direction: column;
1833    gap: .6rem;
1834  }
1835
1836  .offer-config-actions .btn {
1837    width: 100%;
1838  }
1839
1840
1841  @media (max-width: 1199.98px) {
1842    .offer-config-grid {
1843      grid-template-columns: 1fr;
1844    }
1845
1846    .offer-config-actions {
1847      flex-direction: row;
1848    }
1849
1850    .offer-config-actions .btn {
1851      width: auto;
1852      flex: 1 1 180px;
1853    }
1854  }
1855
1856  @media (max-width: 575.98px) {
1857    .offer-config-hero {
1858      align-items: stretch;
1859      flex-direction: column;
1860    }
1861
1862    .config-summary-grid {
1863      grid-template-columns: 1fr;
1864    }
1865
1866    .offer-config-actions {
1867      flex-direction: column;
1868    }
1869
1870    .offer-config-actions .btn {
1871      width: 100%;
1872    }
1873  }
1874	
1875.offer-modal .modal-dialog {
1876  max-width: 980px;
1877}
1878
1879.offer-modal__content {
1880  border: 0;
1881  border-radius: 22px;
1882  overflow: hidden;
1883  box-shadow: 0 24px 80px rgba(0,0,0,.22);
1884}
1885
1886.offer-modal__header {
1887  display: flex;
1888  align-items: center;
1889  gap: 1.25rem;
1890  padding: 1.75rem 2rem;
1891  border-bottom: 1px solid #e9ecef;
1892  position: relative;
1893}
1894
1895.offer-modal__header-icon,
1896.offer-modal__summary-icon {
1897  width: 64px;
1898  height: 64px;
1899  border-radius: 50%;
1900  display: grid;
1901  place-items: center;
1902  background: rgba(25, 135, 84, .10);
1903  color: #1f5b3d;
1904  font-size: 1.55rem;
1905  flex: 0 0 auto;
1906}
1907
1908.offer-modal__title {
1909  font-size: 1.55rem;
1910  font-weight: 800;
1911  margin: 0;
1912}
1913
1914.offer-modal__subtitle {
1915  margin: .25rem 0 0;
1916  color: #6c757d;
1917}
1918
1919.offer-modal__close {
1920  margin-left: auto;
1921  border: 0;
1922  background: transparent;
1923  color: #6c757d;
1924  font-size: 1.8rem;
1925  line-height: 1;
1926  padding: .25rem;
1927}
1928
1929.offer-modal__body {
1930  padding: 2rem;
1931}
1932
1933.offer-modal__summary {
1934  display: grid;
1935  grid-template-columns: 64px 1fr;
1936  gap: 1.25rem;
1937  padding: 1.5rem;
1938  border: 1px solid #e5e7eb;
1939  border-radius: 18px;
1940  background: linear-gradient(135deg, #fff, #f8faf9);
1941  margin-bottom: 1.75rem;
1942}
1943
1944.offer-modal__summary h6 {
1945  font-size: 1.05rem;
1946  font-weight: 800;
1947  margin-bottom: .75rem;
1948}
1949
1950.offer-modal__summary-text {
1951  color: #212529;
1952  line-height: 1.7;
1953}
1954
1955.offer-form-grid {
1956  display: grid;
1957  grid-template-columns: repeat(3, minmax(0, 1fr));
1958  gap: 1.25rem;
1959}
1960
1961.offer-field--full {
1962  grid-column: 1 / -1;
1963}
1964
1965.offer-field label {
1966  display: block;
1967  font-weight: 600;
1968  margin-bottom: .45rem;
1969}
1970
1971.offer-field label span {
1972  color: #6c757d;
1973  font-weight: 400;
1974}
1975
1976.offer-input {
1977  display: flex;
1978  align-items: center;
1979  gap: .85rem;
1980  border: 1px solid #d8dee6;
1981  border-radius: 14px;
1982  background: #fff;
1983  padding: 0 1rem;
1984  transition: border-color .2s ease, box-shadow .2s ease;
1985}
1986
1987.offer-input:focus-within {
1988  border-color: #1f5b3d;
1989  box-shadow: 0 0 0 .2rem rgba(31,91,61,.10);
1990}
1991
1992.offer-input i {
1993  color: #6c757d;
1994  width: 18px;
1995  text-align: center;
1996}
1997
1998.offer-input input,
1999.offer-input textarea {
2000  width: 100%;
2001  border: 0;
2002  outline: 0;
2003  padding: .95rem 0;
2004  background: transparent;
2005}
2006
2007.offer-input--textarea {
2008  align-items: flex-start;
2009}
2010
2011.offer-input--textarea i {
2012  margin-top: 1rem;
2013}
2014
2015.offer-modal__footer {
2016  display: flex;
2017  align-items: center;
2018  justify-content: space-between;
2019  gap: 1.25rem;
2020  padding: 1.5rem 2rem;
2021  border-top: 1px solid #e9ecef;
2022  background: #fff;
2023}
2024
2025.offer-modal__safe {
2026  display: flex;
2027  align-items: center;
2028  gap: 1rem;
2029  color: #495057;
2030}
2031
2032.offer-modal__safe i {
2033  width: 46px;
2034  height: 46px;
2035  border-radius: 50%;
2036  display: grid;
2037  place-items: center;
2038  background: #f1f3f5;
2039  font-size: 1.2rem;
2040}
2041
2042.offer-modal__safe strong,
2043.offer-modal__safe span {
2044  display: block;
2045}
2046
2047.offer-modal__safe span {
2048  color: #6c757d;
2049  font-size: .9rem;
2050}
2051
2052.offer-modal__actions {
2053  display: flex;
2054  gap: .75rem;
2055}
2056
2057.offer-btn {
2058  display: inline-flex;
2059  align-items: center;
2060  justify-content: center;
2061  gap: .55rem;
2062  border-radius: 12px;
2063  padding: .85rem 1.25rem;
2064  font-weight: 700;
2065}
2066
2067.offer-btn--primary {
2068  background: #1f5b3d;
2069  border-color: #1f5b3d;
2070  color: #fff;
2071}
2072
2073.offer-btn--primary:hover {
2074  background: #184830;
2075  border-color: #184830;
2076  color: #fff;
2077}
2078
2079.offer-btn--light {
2080  background: #fff;
2081  border: 1px solid #d8dee6;
2082  color: #495057;
2083}
2084
2085@media (max-width: 767.98px) {
2086  .offer-modal .modal-dialog {
2087    margin: .75rem;
2088  }
2089
2090  .offer-modal__header,
2091  .offer-modal__body,
2092  .offer-modal__footer {
2093    padding: 1.25rem;
2094  }
2095
2096  .offer-modal__header-icon {
2097    width: 52px;
2098    height: 52px;
2099    font-size: 1.25rem;
2100  }
2101
2102  .offer-modal__title {
2103    font-size: 1.25rem;
2104  }
2105
2106  .offer-modal__summary {
2107    grid-template-columns: 1fr;
2108  }
2109
2110  .offer-form-grid {
2111    grid-template-columns: 1fr;
2112  }
2113
2114  .offer-modal__footer {
2115    flex-direction: column;
2116    align-items: stretch;
2117  }
2118
2119  .offer-modal__actions {
2120    flex-direction: column-reverse;
2121  }
2122
2123  .offer-btn {
2124    width: 100%;
2125  }
2126}
2127</style>
2128
2129<script>
2130  document.addEventListener('DOMContentLoaded', function () {
2131    const APARTMENTS = {"B1_M1":{"svgId":"B1_M1","building":"1","lokal":"M1","status":"wolny","metraz":"53,53","cena_aktualna":"570 094","cena_m2":"10650","outdoorType":"ogród","pow_ogrodu":"107,83","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/fa918b09c2-1774045883/tercet_b1_m1.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/1/1_1.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/1_1/index.html"},"B1_M2":{"svgId":"B1_M2","building":"1","lokal":"M2","status":"sprzedany","metraz":"49,58","cena_aktualna":"528 027","cena_m2":"10650","outdoorType":"ogród","pow_ogrodu":"145,91","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/2f7ec079fa-1774045884/tercet_b1_m2.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/1/1_2.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/1_2/index.html"},"B1_M3":{"svgId":"B1_M3","building":"1","lokal":"M3","status":"wolny","metraz":"48,67","cena_aktualna":"518 335","cena_m2":"10650","outdoorType":"ogród","pow_ogrodu":"74,83","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/71fe862016-1774045884/tercet_b1_m3.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/1/1_3.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/1_3/index.html"},"B1_M4":{"svgId":"B1_M4","building":"1","lokal":"M4","status":"wolny","metraz":"57,71","cena_aktualna":"548 245","cena_m2":"9500","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/8523416013-1774045884/tercet_b1_m4.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/1/1_4.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/1_4/index.html"},"B1_M5":{"svgId":"B1_M5","building":"1","lokal":"M5","status":"sprzedany","metraz":"39,94","cena_aktualna":"389 415","cena_m2":"9750","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/f9b2b0b36f-1774045884/tercet_b1_m5.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/1/1_5.jpg","spacerUrl":""},"B1_M6":{"svgId":"B1_M6","building":"1","lokal":"M6","status":"sprzedany","metraz":"27,74","cena_aktualna":"270 465","cena_m2":"9750","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/b980eaa986-1774045884/tercet_b1_m6.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/1/1_6.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/1_6/index.html"},"B1_M7":{"svgId":"B1_M7","building":"1","lokal":"M7","status":"wolny","metraz":"36,01","cena_aktualna":"351 097","cena_m2":"9750","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/30bf842b7e-1774045884/tercet_b1_m7.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/1/1_7.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/1_7/index.html"},"B1_M8":{"svgId":"B1_M8","building":"1","lokal":"M8","status":"wolny","metraz":"53,37","cena_aktualna":"504 346","cena_m2":"9650","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/82477a2ae1-1774045884/tercet_b1_m8.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/1/1_8.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/1_8/index.html"},"B1_M9":{"svgId":"B1_M9","building":"1","lokal":"M9","status":"rezerwacja","metraz":"62,67","cena_aktualna":"601 632","cena_m2":"9600","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/b3c5c85545-1774045884/tercet_b1_m9.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/1/1_9.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/1_9/index.html"},"B1_M10":{"svgId":"B1_M10","building":"1","lokal":"M10","status":"wolny","metraz":"25,41","cena_aktualna":"260 452","cena_m2":"10250","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/2758f25e1d-1774045884/tercet_b1_m10.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/1/1_10.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/1_10/index.html"},"B1_M11":{"svgId":"B1_M11","building":"1","lokal":"M11","status":"wolny","metraz":"62,97","cena_aktualna":"604 512","cena_m2":"9600","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/04170b163f-1774045884/tercet_b1_m11.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/1/1_11.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/1_11/index.html"},"B2_M1":{"svgId":"B2_M1","building":"2","lokal":"M1","status":"wolny","metraz":"53,53","cena_aktualna":"615 595","cena_m2":"11500","outdoorType":"ogród","pow_ogrodu":"111,65","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/f855b00992-1774045884/tercet_b2_m1.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/2/2_1.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/2_1/index.html"},"B2_M2":{"svgId":"B2_M2","building":"2","lokal":"M2","status":"sprzedany","metraz":"49,58","cena_aktualna":"570 170","cena_m2":"11500","outdoorType":"ogród","pow_ogrodu":"154,98","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/6c0fc66466-1774045884/tercet_b2_m2.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/2/2_2.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/2_2/index.html"},"B2_M3":{"svgId":"B2_M3","building":"2","lokal":"M3","status":"sprzedany","metraz":"48,67","cena_aktualna":"559 705","cena_m2":"11500","outdoorType":"ogród","pow_ogrodu":"74,74","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/e5267b2472-1774045884/tercet_b2_m3.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/2/2_3.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/2_3/index.html"},"B2_M4":{"svgId":"B2_M4","building":"2","lokal":"M4","status":"sprzedany","metraz":"57,71","cena_aktualna":"634 810","cena_m2":"11000","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/0e2f672a93-1774045884/tercet_b2_m4.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/2/2_4.jpg","spacerUrl":""},"B2_M5":{"svgId":"B2_M5","building":"2","lokal":"M5","status":"sprzedany","metraz":"39,94","cena_aktualna":"439 340","cena_m2":"11000","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/9fba2d6986-1774045884/tercet_b2_m5.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/2/2_5.jpg","spacerUrl":""},"B2_M6":{"svgId":"B2_M6","building":"2","lokal":"M6","status":"sprzedany","metraz":"27,74","cena_aktualna":"305 140","cena_m2":"11000","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/82c524d986-1774045885/tercet_b2_m6.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/2/2_6.jpg","spacerUrl":""},"B2_M7":{"svgId":"B2_M7","building":"2","lokal":"M7","status":"sprzedany","metraz":"36,01","cena_aktualna":"379 810","cena_m2":"10550","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/df024e2501-1774045885/tercet_b2_m7.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/2/2_7.jpg","spacerUrl":""},"B2_M8":{"svgId":"B2_M8","building":"2","lokal":"M8","status":"wolny","metraz":"53,37","cena_aktualna":"565 722","cena_m2":"10600","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/1d316de818-1774045885/tercet_b2_m8.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/2/2_8.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/2_8/index.html"},"B2_M9":{"svgId":"B2_M9","building":"2","lokal":"M9","status":"rezerwacja","metraz":"62,67","cena_aktualna":"679 969","cena_m2":"10850","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/3c8f9ad99c-1774045885/tercet_b2_m9.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/2/2_9.jpg","spacerUrl":""},"B2_M10":{"svgId":"B2_M10","building":"2","lokal":"M10","status":"wolny","metraz":"25,41","cena_aktualna":"271 124","cena_m2":"11100","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/2e58bbc705-1774045884/tercet_b2_m10.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/2/2_10.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/2_10/index.html"},"B2_M11":{"svgId":"B2_M11","building":"2","lokal":"M11","status":"sprzedany","metraz":"62,97","cena_aktualna":"683 224","cena_m2":"10850","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/fac70206b1-1774045884/tercet_b2_m11.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/2/2_11.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/2_11/index.html"},"B3_M1":{"svgId":"B3_M1","building":"3","lokal":"M1","status":"wolny","metraz":"39,94","cena_aktualna":"519 220","cena_m2":"13000","outdoorType":"ogród","pow_ogrodu":"50","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/72d4557c57-1774045885/tercet_b3_m1.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/3/3_1.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/3_1/index.html"},"B3_M2":{"svgId":"B3_M2","building":"3","lokal":"M2","status":"wolny","metraz":"27,74","cena_aktualna":"350 911","cena_m2":"13000","outdoorType":"ogród","pow_ogrodu":"13,91","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/f73658de1f-1774045885/tercet_b3_m2.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/3/3_2.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/3_2/index.html"},"B3_M3":{"svgId":"B3_M3","building":"3","lokal":"M3","status":"wolny","metraz":"36,01","cena_aktualna":"486 135","cena_m2":"13500","outdoorType":"ogród","pow_ogrodu":"67,16","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/5abf2d2019-1774045885/tercet_b3_m3.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/3/3_3.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/3_3/index.html"},"B3_M4":{"svgId":"B3_M4","building":"3","lokal":"M4","status":"rezerwacja","metraz":"48,67","cena_aktualna":"657 045","cena_m2":"13500","outdoorType":"ogród","pow_ogrodu":"74,45","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/d4b5e9d01c-1774045885/tercet_b3_m4.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/3/3_4.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/3_4/index.html"},"B3_M5":{"svgId":"B3_M5","building":"3","lokal":"M5","status":"wolny","metraz":"57,71","cena_aktualna":"750 230","cena_m2":"13000","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/970c53d700-1774045885/tercet_b3_m5.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/3/3_5.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/3_5/index.html"},"B3_M6":{"svgId":"B3_M6","building":"3","lokal":"M6","status":"sprzedany","metraz":"39,94","cena_aktualna":"519 220","cena_m2":"13000","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/c663252862-1774045885/tercet_b3_m6.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/3/3_6.jpg","spacerUrl":""},"B3_M7":{"svgId":"B3_M7","building":"3","lokal":"M7","status":"sprzedany","metraz":"27,74","cena_aktualna":"350 911","cena_m2":"12650","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/22ab6ec3e9-1774045885/tercet_b3_m7.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/3/3_7.jpg","spacerUrl":""},"B3_M8":{"svgId":"B3_M8","building":"3","lokal":"M8","status":"wolny","metraz":"36,01","cena_aktualna":"473 531","cena_m2":"13150","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/77ec305044-1774045885/tercet_b3_m8.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/3/3_8.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/3_8/index.html"},"B3_M9":{"svgId":"B3_M9","building":"3","lokal":"M9","status":"wolny","metraz":"53,37","cena_aktualna":"693 810","cena_m2":"13000","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/7818334031-1774045886/tercet_b3_m9.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/3/3_9.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/3_9/index.html"},"B3_M10":{"svgId":"B3_M10","building":"3","lokal":"M10","status":"sprzedany","metraz":"62,67","cena_aktualna":"877 380","cena_m2":"14000","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/b1d3e3d4e7-1774045885/tercet_b3_m10.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/3/3_10.jpg","spacerUrl":"https://tercet-sztum.pl/assets/spacery/3_10/index.html"},"B3_M11":{"svgId":"B3_M11","building":"3","lokal":"M11","status":"sprzedany","metraz":"25,41","cena_aktualna":"321 436","cena_m2":"12650","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/ee695f427c-1774045885/tercet_b3_m11.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/3/3_11.jpg","spacerUrl":""},"B3_M12":{"svgId":"B3_M12","building":"3","lokal":"M12","status":"sprzedany","metraz":"62,97","cena_aktualna":"818 610","cena_m2":"13000","outdoorType":"balkon","pow_ogrodu":"","oferta_od":"","kartaUrl":"https://tercet-sztum.pl/media/site/f8a399390f-1774045885/tercet_b3_m12.pdf","rzutUrl":"https://tercet-sztum.pl/assets/rzuty/3/3_12.jpg","spacerUrl":""}};
2132	const PARKING_ITEMS = {"MP1":{"id":"MP1","label":"MP1","status":"wolny","cena":"12 000"},"MP2":{"id":"MP2","label":"MP2","status":"wolny","cena":"12 000"},"MP3":{"id":"MP3","label":"MP3","status":"wolny","cena":"12 000"},"MP4":{"id":"MP4","label":"MP4","status":"wolny","cena":"12 000"},"MP5":{"id":"MP5","label":"MP5","status":"wolny","cena":"12 000"},"MP6":{"id":"MP6","label":"MP6","status":"wolny","cena":"12 000"},"MP7":{"id":"MP7","label":"MP7","status":"wolny","cena":"12 000"}
2132,"MP8":{"id":"MP8","label":"MP8","status":"sprzedany","cena":"12 000"},"MP9":{"id":"MP9","label":"MP9","status":"wolny","cena":"12 000"},"MP10":{"id":"MP10","label":"MP10","status":"wolny","cena":"12 000"},"MP11":{"id":"MP11","label":"MP11","status":"wolny","cena":"12 000"},"MP12":{"id":"MP12","label":"MP12","status":"wolny","cena":"12 000"},"MP13":{"id":"MP13","label":"MP13","status":"rezerwacja","cena":"12 000"},"MP14":{"id":"MP14","label":"MP14","status":"sprzedany","cena":"12 000"},"MP15":{"id":"MP15","label":"MP15","status":"sprzedany","cena":"12 000"},"MP16":{"id":"MP16","label":"MP16","status":"wolny","cena":"12 000"},"MP17":{"id":"MP17","label":"MP17","status":"wolny","cena":"12 000"},"MP18":{"id":"MP18","label":"MP18","status":"wolny","cena":"12 000"},"MP19":{"id":"MP19","label":"MP19","status":"sprzedany","cena":"12 000"},"MP20":{"id":"MP20","label":"MP20","status":"sprzedany","cena":"12 000"},"MP21":{"id":"MP21","label":"MP21","status":"sprzedany","cena":"12 000"},"MP22":{"id":"MP22","label":"MP22","status":"wolny","cena":"12 000"},"MP23":{"id":"MP23","label":"MP23","status":"wolny","cena":"12 000"},"MP24":{"id":"MP24","label":"MP24","status":"wolny","cena":"12 000"},"MP25":{"id":"MP25","label":"MP25","status":"sprzedany","cena":"12 000"},"MP26":{"id":"MP26","label":"MP26","status":"sprzedany","cena":"12 000"},"MP27":{"id":"MP27","label":"MP27","status":"wolny","cena":"12 000"},"MP28":{"id":"MP28","label":"MP28","status":"wolny","cena":"12 000"},"MP29":{"id":"MP29","label":"MP29","status":"sprzedany","cena":"12 000"},"MP30":{"id":"MP30","label":"MP30","status":"sprzedany","cena":"12 000"},"MP31":{"id":"MP31","label":"MP31","status":"sprzedany","cena":"12 000"},"MP32":{"id":"MP32","label":"MP32","status":"wolny","cena":"12 000"},"MP33":{"id":"MP33","label":"MP33","status":"wolny","cena":"12 000"},"MP34":{"id":"MP34","label":"MP34","status":"wolny","cena":"12 000"},"MP35":{"id":"MP35","label":"MP35","status":"wolny","cena":"12 000"},"MP36":{"id":"MP36","label":"MP36","status":"wolny","cena":"12 000"},"MP37":{"id":"MP37","label":"MP37","status":"wolny","cena":"12 000"},"MP38":{"id":"MP38","label":"MP38","status":"sprzedany","cena":"12 000"}};
2133	const STORAGE_ITEMS = {"B1_KL1":{"id":"B1_KL1","label":"KL1","building":"1","buildingRaw":"1","status":"wolny","cena":"19 775"},"B1_KL2":{"id":"B1_KL2","label":"KL2","building":"1","buildingRaw":"1","status":"sprzedany","cena":"8 100"},"B1_KL3":{"id":"B1_KL3","label":"KL3","building":"1","buildingRaw":"1","status":"wolny","cena":"7 000"},"B1_KL4":{"id":"B1_KL4","label":"KL4","building":"1","buildingRaw":"1","status":"sprzedany","cena":"7 000"},"B1_KL5":{"id":"B1_KL5","label":"KL5","building":"1","buildingRaw":"1","status":"sprzedany","cena":"14 445"},"B1_KL6":{"id":"B1_KL6","label":"KL6","building":"1","buildingRaw":"1","status":"wolny","cena":"7 150"},"B2_KL1":{"id":"B2_KL1","label":"KL1","building":"2","buildingRaw":"2","status":"sprzedany","cena":"19 775"},"B2_KL2":{"id":"B2_KL2","label":"KL2","building":"2","buildingRaw":"2","status":"sprzedany","cena":"8 100"},"B2_KL3":{"id":"B2_KL3","label":"KL3","building":"2","buildingRaw":"2","status":"sprzedany","cena":"7 000"},"B2_KL4":{"id":"B2_KL4","label":"KL4","building":"2","buildingRaw":"2","status":"wolny","cena":"7 000"},"B2_KL5":{"id":"B2_KL5","label":"KL5","building":"2","buildingRaw":"2","status":"sprzedany","cena":"14 445"},"B2_KL6":{"id":"B2_KL6","label":"KL6","building":"2","buildingRaw":"2","status":"sprzedany","cena":"7 150"},"B3_KL1":{"id":"B3_KL1","label":"KL1","building":"3","buildingRaw":"3","status":"rezerwacja","cena":"19 775"},"B3_KL2":{"id":"B3_KL2","label":"KL2","building":"3","buildingRaw":"3","status":"sprzedany","cena":"8 100"},"B3_KL3":{"id":"B3_KL3","label":"KL3","building":"3","buildingRaw":"3","status":"sprzedany","cena":"7 000"},"B3_KL4":{"id":"B3_KL4","label":"KL4","building":"3","buildingRaw":"3","status":"sprzedany","cena":"7 000"},"B3_KL5":{"id":"B3_KL5","label":"KL5","building":"3","buildingRaw":"3","status":"sprzedany","cena":"14 445"},"B3_KL6":{"id":"B3_KL6","label":"KL6","building":"3","buildingRaw":"3","status":"wolny","cena":"7 150"}};
2134    const FLOOR_LABELS = {"B_1_1":"Budynek 1 / Kondygnacja 1","B_1_2":"Budynek 1 / Kondygnacja 2","B_1_3":"Budynek 1 / Kondygnacja 3","B_2_1":"Budynek 2 / Kondygnacja 1","B_2_2":"Budynek 2 / Kondygnacja 2","B_2_3":"Budynek 2 / Kondygnacja 3","B_3_1":"Budynek 3 / Kondygnacja 1","B_3_2":"Budynek 3 / Kondygnacja 2","B_3_3":"Budynek 3 / Kondygnacja 3"};
2135    const FLOOR_IDS = ["B_1_1","B_1_2","B_1_3","B_2_1","B_2_2","B_2_3","B_3_1","B_3_2","B_3_3"];
2136
2137    const STATUS_META = {
2138      wolny: {
2139        label: 'Wolny',
2140        badgeClass: 'status-available'
2141      },
2142      rezerwacja: {
2143        label: 'Rezerwacja',
2144        badgeClass: 'status-reserved'
2145      },
2146      sprzedany: {
2147        label: 'Sprzedany',
2148        badgeClass: 'status-sold'
2149      }
2150    };
2151
2152    const ROTATE_VIDEOS = {
2153      front: 'assets/img/animacja.mp4',
2154      back: 'assets/img/animacja2.mp4'
2155    };
2156
2157    const buildingStage = document.getElementById('buildingStage');
2158    const rotateVideo = document.getElementById('buildingRotateVideo');
2159    const rotateViewBtn = document.getElementById('rotateViewBtn');
2160    const floorplanStage = document.getElementById('floorplanStage');
2161    const apartmentDetails = document.getElementById('apartmentDetails');
2162    const selectedFloorLabel = document.getElementById('selectedFloorLabel');
2163
2164    let currentFloorId = null;
2165    let currentApartmentId = null;
2166	let selectedParkingIds = [];
2167	let selectedStorageId = null;
2168    let currentOverviewView = 'front';
2169    let isRotating = false;
2170
2171    function formatNumberPL(value) {
2172      if (value === null || value === undefined || value === '') return '';
2173      const cleaned = String(value).replace(/\s/g, '').replace(',', '.');
2174      const number = parseFloat(cleaned);
2175
2176      if (isNaN(number)) return value;
2177
2178      return number.toLocaleString('pl-PL', {
2179        minimumFractionDigits: 2,
2180        maximumFractionDigits: 2
2181      });
2182    }
2183
2184    function formatPricePL(value) {
2185      if (!value) return 'Zapytaj o cenę';
2186
2187      const cleaned = String(value).replace(/\s/g, '').replace(',', '.');
2188      const number = parseFloat(cleaned);
2189
2190      if (isNaN(number)) return value + ' PLN';
2191
2192      return number.toLocaleString('pl-PL', {
2193        style: 'currency',
2194        currency: 'PLN',
2195        maximumFractionDigits: 0
2196      });
2197    }
2198
2199    function formatPricePerM2(value) {
2200      if (!value) return 'Brak danych';
2201
2202      const cleaned = String(value).replace(/\s/g, '').replace(',', '.');
2203      const number = parseFloat(cleaned);
2204
2205      if (isNaN(number)) return value + ' PLN / m²';
2206
2207      return number.toLocaleString('pl-PL', {
2208        maximumFractionDigits: 0
2209      }) + ' PLN / m²';
2210    }
2211
2212    function formatArea(value) {
2213      if (!value) return 'Brak danych';
2214      return formatNumberPL(value) + ' m²';
2215    }
2216
2217    function getOutdoorText(apartment) {
2218      const type = apartment.outdoorType ? apartment.outdoorType.trim().toLowerCase() : '';
2219
2220      if (type === 'ogród' || type === 'ogrod') {
2221        return apartment.pow_ogrodu
2222          ? 'Ogród: ' + formatArea(apartment.pow_ogrodu)
2223          : 'Ogród';
2224      }
2225
2226      if (type === 'balkon') {
2227        return 'Balkon';
2228      }
2229
2230      return 'Brak';
2231    }
2232
2233    function getOverviewFloorId(shape) {
2234      return shape.dataset.floorId || shape.id;
2235    }
2236
2237    function setActiveOverviewLayer(view) {
2238      if (!buildingStage) return;
2239
2240      buildingStage.querySelectorAll('.overview-layer').forEach(layer => {
2241        layer.classList.toggle('is-active', layer.dataset.view === view);
2242      });
2243    }
2244
2245    function setActiveOverviewFloor(floorId) {
2246      if (!buildingStage) return;
2247
2248      buildingStage.querySelectorAll('.floor-shape').forEach(shape => {
2249        shape.classList.toggle('is-active', getOverviewFloorId(shape) === floorId);
2250      });
2251    }
2252
2253    function setSelectedApartmentShape(apartmentId) {
2254      const floorSvg = floorplanStage.querySelector('svg');
2255      if (!floorSvg) return;
2256
2257      floorSvg.querySelectorAll('[id^="B"]').forEach(el => {
2258        el.classList.toggle('is-selected', el.id === apartmentId);
2259      });
2260    }
2261
2262    function escapeHtml(value) {
2263      return String(value ?? '').replace(/[&<>"']/g, function (char) {
2264        return {
2265          '&': '&amp;',
2266          '<': '&lt;',
2267          '>': '&gt;',
2268          '"': '&quot;',
2269          "'": '&#039;'
2270        }[char];
2271      });
2272    }
2273	function parsePrice(value) {
2274  if (!value) return 0;
2275  const cleaned = String(value).replace(/\s/g, '').replace(',', '.').replace(/[^\d.]/g, '');
2276  const number = parseFloat(cleaned);
2277  return isNaN(number) ? 0 : number;
2278}
2279
2280function getCurrentApartment() {
2281  return currentApartmentId ? APARTMENTS[currentApartmentId] : null;
2282}
2283
2284function getSelectedParkingItems() {
2285  return selectedParkingIds.map(id => PARKING_ITEMS[id]).filter(Boolean);
2286}
2287
2288function getSelectedStorageItem() {
2289  return selectedStorageId ? STORAGE_ITEMS[selectedStorageId] : null;
2290}
2291
2292function getOfferTotal() {
2293  const apartment = getCurrentApartment();
2294  let total = apartment ? parsePrice(apartment.cena_aktualna) : 0;
2295
2296  getSelectedParkingItems().forEach(item => {
2297    total += parsePrice(item.cena);
2298  });
2299
2300  const storage = getSelectedStorageItem();
2301  if (storage) {
2302    total += parsePrice(storage.cena);
2303  }
2304
2305  return total;
2306}
2307
2308function formatSimplePrice(value) {
2309  return value.toLocaleString('pl-PL', {
2310    style: 'currency',
2311    currency: 'PLN',
2312    maximumFractionDigits: 0
2313  });
2314}
2315
2316function renderExtrasSummary() {
2317  const apartment = getCurrentApartment();
2318  const parkingItems = getSelectedParkingItems();
2319  const storage = getSelectedStorageItem();
2320  const isAvailableForConfig = apartment && apartment.status !== 'sprzedany';
2321
2322  const summaryEl = document.getElementById('selectedExtrasSummary');
2323  const totalEl = document.getElementById('extrasTotalPrice');
2324  const offerTotalBox = document.getElementById('offerTotalBox');
2325  const apartmentSummaryEl = document.getElementById('configApartmentSummary');
2326  const apartmentTitleEl = document.getElementById('configApartmentTitle');
2327  const apartmentBadgeEl = document.getElementById('configApartmentBadge');
2328  const summaryApartmentPriceEl = document.getElementById('summaryApartmentPrice');
2329  const summaryExtrasPriceEl = document.getElementById('summaryExtrasPrice');
2330  const configPlaceholder = document.getElementById('offerConfigPlaceholder');
2331  const configContent = document.getElementById('offerConfigContent');
2332  const chooseExtrasBtn = document.getElementById('offerConfigChooseExtrasBtn');
2333  const contactBtn = document.getElementById('offerContactBtn');
2334  const pdfBtn = document.getElementById('offerPdfBtn');
2335
2336  if (apartment && apartment.status === 'sprzedany') {
2337    selectedParkingIds = [];
2338    selectedStorageId = null;
2339
2340    if (configPlaceholder) {
2341      configPlaceholder.classList.add('d-none');
2342    }
2343
2344    if (configContent) {
2345      configContent.classList.remove('d-none');
2346    }
2347
2348    if (apartmentTitleEl) {
2349      apartmentTitleEl.textContent = `Lokal ${apartment.lokal}`;
2350    }
2351
2352    if (apartmentBadgeEl) {
2353      apartmentBadgeEl.textContent = `Budynek ${apartment.building}`;
2354    }
2355
2356    if (apartmentSummaryEl) {
2357      apartmentSummaryEl.innerHTML = `
2358        <div class="config-pill">
2359          <i class="fa-regular fa-building" aria-hidden="true"></i>
2360          <span>Budynek</span>
2361          <strong>${escapeHtml(apartment.building)}</strong>
2362        </div>
2363        <div class="config-pill">
2364          <i class="fa-regular fa-square" aria-hidden="true"></i>
2365          <span>Lokal</span>
2366          <strong>${escapeHtml(apartment.lokal)}</strong>
2367        </div>
2368        <div class="config-pill">
2369          <i class="fa-solid fa-tag" aria-hidden="true"></i>
2370          <span>Status</span>
2371          <strong>Sprzedany</strong>
2372        </div>
2373      `;
2374    }
2375
2376    if (summaryEl) {
2377      summaryEl.innerHTML = `
2378        <div class="alert alert-light border mb-0 w-100">
2379          Lokal został sprzedany. Konfiguracja oraz szczegóły cenowe nie są dostępne.
2380        </div>
2381      `;
2382    }
2383
2384    if (summaryApartmentPriceEl) summaryApartmentPriceEl.textContent = '—';
2385    if (summaryExtrasPriceEl) summaryExtrasPriceEl.textContent = '—';
2386    if (totalEl) totalEl.textContent = '—';
2387    if (offerTotalBox) offerTotalBox.textContent = '—';
2388    if (chooseExtrasBtn) chooseExtrasBtn.disabled = true;
2389    if (contactBtn) contactBtn.disabled = true;
2390    if (pdfBtn) pdfBtn.disabled = true;
2391
2392    return;
2393  }
2394
2395  if (configPlaceholder && configContent) {
2396    configPlaceholder.classList.toggle('d-none', !!apartment);
2397    configContent.classList.toggle('d-none', !apartment);
2398  }
2399
2400  if (chooseExtrasBtn) {
2401    chooseExtrasBtn.disabled = !isAvailableForConfig;
2402  }
2403
2404  if (contactBtn) {
2405    contactBtn.disabled = !isAvailableForConfig;
2406  }
2407
2408  if (pdfBtn) {
2409    pdfBtn.disabled = !isAvailableForConfig;
2410  }
2411
2412  const apartmentPrice = apartment ? parsePrice(apartment.cena_aktualna) : 0;
2413  const extrasPrice = parkingItems.reduce((sum, item) => sum + parsePrice(item.cena), 0) + (storage ? parsePrice(storage.cena) : 0);
2414  const totalText = formatSimplePrice(getOfferTotal());
2415
2416  if (apartmentTitleEl && apartment) {
2417    apartmentTitleEl.textContent = `Lokal ${apartment.lokal}`;
2418  }
2419
2420  if (apartmentBadgeEl && apartment) {
2421    apartmentBadgeEl.textContent = `Budynek ${apartment.building}`;
2422  }
2423
2424  if (apartmentSummaryEl && apartment) {
2425    const statusMeta = STATUS_META[apartment.status] || STATUS_META.wolny;
2426
2427    apartmentSummaryEl.innerHTML = `
2428      <div class="config-pill">
2429        <i class="fa-regular fa-building" aria-hidden="true"></i>
2430        <span>Budynek</span>
2431        <strong>${escapeHtml(apartment.building)}</strong>
2432      </div>
2433      <div class="config-pill">
2434        <i class="fa-regular fa-square" aria-hidden="true"></i>
2435        <span>Lokal</span>
2436        <strong>${escapeHtml(apartment.lokal)}</strong>
2437      </div>
2438      <div class="config-pill">
2439        <i class="fa-solid fa-ruler-combined" aria-hidden="true"></i>
2440        <span>Powierzchnia</span>
2441        <strong>${formatArea(apartment.metraz)}</strong>
2442      </div>
2443      <div class="config-pill">
2444        <i class="fa-solid fa-tag" aria-hidden="true"></i>
2445        <span>Status</span>
2446        <strong>${statusMeta.label}</strong>
2447      </div>
2448    `;
2449  } else if (apartmentSummaryEl) {
2450    apartmentSummaryEl.innerHTML = '';
2451  }
2452
2453  if (summaryEl) {
2454    summaryEl.innerHTML = `
2455      <div class="config-pill config-pill--wide">
2456        <i class="fa-solid fa-square-parking" aria-hidden="true"></i>
2457        <span>Miejsca parkingowe</span>
2458        <strong>${parkingItems.length ? parkingItems.map(i => escapeHtml(i.label)).join(' • ') : 'Nie wybrano'}</strong>
2459      </div>
2460      <div class="config-pill config-pill--wide">
2461        <i class="fa-solid fa-box-archive" aria-hidden="true"></i>
2462        <span>Komórka lokatorska</span>
2463        <strong>${storage ? escapeHtml(storage.label) : 'Nie wybrano'}</strong>
2464      </div>
2465    `;
2466  }
2467
2468  if (summaryApartmentPriceEl) {
2469    summaryApartmentPriceEl.textContent = formatSimplePrice(apartmentPrice);
2470  }
2471
2472  if (summaryExtrasPriceEl) {
2473    summaryExtrasPriceEl.textContent = formatSimplePrice(extrasPrice);
2474  }
2475
2476  if (totalEl) {
2477    totalEl.textContent = totalText;
2478  }
2479
2480  if (offerTotalBox) {
2481    offerTotalBox.textContent = totalText;
2482  }
2483}
2484
2485function renderExtrasLists() {
2486  const apartment = getCurrentApartment();
2487  const search = (document.getElementById('extrasSearch')?.value || '').trim().toLowerCase();
2488
2489  const parkingList = document.getElementById('parkingList');
2490  const storageList = document.getElementById('storageList');
2491  const apartmentLabel = document.getElementById('extrasApartmentLabel');
2492
2493  if (!parkingList || !storageList || !apartment) return;
2494
2495  apartmentLabel.textContent = `Budynek ${apartment.building} / Lokal ${apartment.lokal}`;
2496
2497  const parkingItems = Object.values(PARKING_ITEMS)
2498    .filter(item => item.status !== 'sprzedany')
2499    .filter(item => !search || item.label.toLowerCase().includes(search));
2500
2501  const storageItems = Object.values(STORAGE_ITEMS)
2502    .filter(item => item.status !== 'sprzedany')
2503    .filter(item => !item.building || String(item.building) === String(apartment.building))
2504    .filter(item => !search || item.label.toLowerCase().includes(search));
2505
2506  parkingList.innerHTML = parkingItems.length
2507    ? parkingItems.map(item => {
2508        const disabled = item.status !== 'wolny';
2509        const checked = selectedParkingIds.includes(item.id);
2510
2511        return `
2512          <label class="extra-option ${disabled ? 'is-disabled' : ''}">
2513            <input 
2514              type="checkbox" 
2515              name="parking[]" 
2516              value="${item.id}" 
2517              ${checked ? 'checked' : ''}
2518              ${disabled ? 'disabled' : ''}
2519            >
2520            <span>
2521              <strong>${item.label}</strong>
2522              <small>${formatPricePL(item.cena)}${disabled ? ' / rezerwacja' : ''}</small>
2523            </span>
2524          </label>
2525        `;
2526      }).join('')
2527    : `<div class="text-muted small">Brak dostępnych miejsc parkingowych.</div>`;
2528
2529  storageList.innerHTML = storageItems.length
2530    ? storageItems.map(item => {
2531        const disabled = item.status !== 'wolny';
2532        const checked = selectedStorageId === item.id;
2533
2534        return `
2535          <label class="extra-option ${disabled ? 'is-disabled' : ''}">
2536            <input 
2537              type="checkbox" 
2538              name="storage" 
2539              value="${item.id}" 
2540              ${checked ? 'checked' : ''}
2541              ${disabled ? 'disabled' : ''}
2542            >
2543            <span>
2544              <strong>${item.label}</strong>
2545              <small>${formatPricePL(item.cena)}${disabled ? ' / rezerwacja' : ''}</small>
2546            </span>
2547          </label>
2548        `;
2549      }).join('')
2550    : `<div class="text-muted small">Brak dostępnych komórek dla tego budynku.</div>`;
2551
2552  parkingList.querySelectorAll('input[type="checkbox"]').forEach(input => {
2553    input.addEventListener('change', function () {
2554      if (this.checked) {
2555        if (!selectedParkingIds.includes(this.value)) {
2556          selectedParkingIds.push(this.value);
2557        }
2558      } else {
2559        selectedParkingIds = selectedParkingIds.filter(id => id !== this.value);
2560      }
2561
2562      renderExtrasSummary();
2563    });
2564  });
2565
2566  storageList.querySelectorAll('input[name="storage"]').forEach(input => {
2567  input.addEventListener('change', function () {
2568    if (this.checked) {
2569      storageList.querySelectorAll('input[name="storage"]').forEach(other => {
2570        if (other !== this) {
2571          other.checked = false;
2572        }
2573      });
2574      selectedStorageId = this.value;
2575    } else {
2576      selectedStorageId = null;
2577    }
2578    renderExtrasSummary();
2579  });
2580});
2581
2582  renderExtrasSummary();
2583} 
2584    function renderApartmentDetails(apartment) {
2585      if (!apartment) {
2586        apartmentDetails.innerHTML = `
2587          <div class="placeholder-message placeholder-message--details">
2588            Nie znaleziono danych lokalu.
2589          </div>
2590        `;
2591        return;
2592      }
2593
2594      const statusMeta = STATUS_META[apartment.status] || STATUS_META.wolny;
2595
2596      if (apartment.status === 'sprzedany') {
2597        apartmentDetails.innerHTML = `
2598          <div class="d-flex flex-wrap align-items-center justify-content-between gap-3 mb-3">
2599            <div class="status-badge-custom ${statusMeta.badgeClass}">
2600              <span class="legend-color is-sold"></span>
2601              ${statusMeta.label}
2602            </div>
2603          </div>
2604
2605          <div class="details-grid details-grid--sold">
2606            <div class="detail-box">
2607              <span class="detail-box__label">Budynek</span>
2608              <div class="detail-box__value">${escapeHtml(apartment.building)}</div>
2609            </div>
2610
2611            <div class="detail-box">
2612              <span class="detail-box__label">Lokal</span>
2613              <div class="detail-box__value">${escapeHtml(apartment.lokal)}</div>
2614            </div>
2615
2616            <div class="detail-box">
2617              <span class="detail-box__label">Status</span>
2618              <div class="detail-box__value">${statusMeta.label}</div>
2619            </div>
2620          </div>
2621
2622          <div class="alert alert-light border mt-3 mb-0">
2623            Lokal został sprzedany. Szczegóły oferty nie są już dostępne.
2624          </div>
2625        `;
2626
2627        selectedParkingIds = [];
2628        selectedStorageId = null;
2629        renderExtrasSummary();
2630        return;
2631      }
2632
2633      const rzutButton = apartment.rzutUrl
2634        ? `<button type="button" class="btn btn-primary btn-icon" id="showFloorplanBtn"><i class="fa-solid fa-cube" aria-hidden="true"></i> Rzut 3D</button>`
2635        : '';
2636
2637      const spacerButton = apartment.spacerUrl
2638        ? `<button type="button" class="btn btn-primary btn-icon" id="showVirtualTourBtn"><i class="fa-solid fa-person-walking" aria-hidden="true"></i> Spacer 3D</button>`
2639        : '';
2640
2641      const kartaButton = apartment.kartaUrl
2642        ? `<a href="${apartment.kartaUrl}" class="btn btn-primary btn-icon" target="_blank" rel="noopener"><i class="fa-solid fa-download" aria-hidden="true"></i> Pobierz kartę lokalu</a>`
2643        : '';
2644
2645      apartmentDetails.innerHTML = `
2646        <div class="d-flex flex-wrap align-items-center justify-content-between gap-3 mb-3">
2647          <div class="status-badge-custom ${statusMeta.badgeClass}">
2648            <span class="legend-color ${statusMeta.badgeClass === 'status-available' ? 'is-available' : statusMeta.badgeClass === 'status-reserved' ? 'is-reserved' : 'is-sold'}"></span>
2649            ${statusMeta.label}
2650          </div>
2651        </div>
2652
2653        <div class="details-grid">
2654          <div class="detail-box">
2655            <span class="detail-box__label">Budynek</span>
2656            <div class="detail-box__value">${apartment.building}</div>
2657          </div>
2658
2659          <div class="detail-box">
2660            <span class="detail-box__label">Lokal</span>
2661            <div class="detail-box__value">${apartment.lokal}</div>
2662          </div>
2663
2664          <div class="detail-box">
2665            <span class="detail-box__label">Status</span>
2666            <div class="detail-box__value">${statusMeta.label}</div>
2667          </div>
2668
2669          <div class="detail-box">
2670            <span class="detail-box__label">Powierzchnia</span>
2671            <div class="detail-box__value">${formatArea(apartment.metraz)}</div>
2672          </div>
2673
2674          <div class="detail-box">
2675            <span class="detail-box__label">Cena brutto</span>
2676            <div class="price-main">${formatPricePL(apartment.cena_aktualna)}</div>
2677            <div class="price-sub">${formatPricePerM2(apartment.cena_m2)}</div>
2678          </div>
2679
2680          <div class="detail-box">
2681            <span class="detail-box__label">Balkon / ogród</span>
2682            <div class="detail-box__value">${getOutdoorText(apartment)}</div>
2683          </div>
2684        </div>
2685
2686        <div class="details-actions">
2687          ${rzutButton}
2688          ${spacerButton}
2689          ${kartaButton}
2690          ${apartment.status !== 'sprzedany' ? `
2691            <button type="button" class="btn btn-outline-primary btn-icon" id="scrollToConfigBtn">
2692              Przejdź do konfiguratora <i class="fa-solid fa-arrow-down" aria-hidden="true"></i>
2693            </button>
2694          ` : ''}
2695        </div>
2696
2697        ${apartment.status === 'sprzedany' ? `
2698          <div class="alert alert-light border mt-3 mb-0">
2699            Ten lokal jest sprzedany — dobór dodatków jest niedostępny.
2700          </div>
2701        ` : ''}
2702
2703
2704        <!--<div class="details-actions">
2705          ${kartaButton}
2706          <a href="${apartment.contactUrl}" class="btn btn-outline-primary">Zadaj pytanie</a>
2707        </div>-->
2708      `;
2709
2710      const showFloorplanBtn = document.getElementById('showFloorplanBtn');
2711      if (showFloorplanBtn) {
2712        showFloorplanBtn.addEventListener('click', function () {
2713          const modalElement = document.getElementById('apartmentFloorplanModal');
2714          const modalImage = document.getElementById('apartmentFloorplanImage');
2715          const modalTitle = document.getElementById('apartmentFloorplanModalLabel');
2716
2717          if (!modalElement || !modalImage || !window.bootstrap || !bootstrap.Modal) {
2718            return;
2719          }
2720
2721          modalImage.src = apartment.rzutUrl;
2722          modalImage.alt = `Rzut 3D lokalu ${apartment.lokal}, budynek ${apartment.building}`;
2723          modalTitle.textContent = `Rzut 3D – budynek ${apartment.building}, lokal ${apartment.lokal}`;
2724
2725          bootstrap.Modal.getOrCreateInstance(modalElement).show();
2726        });
2727      }
2728
2729      const showVirtualTourBtn = document.getElementById('showVirtualTourBtn');
2730      if (showVirtualTourBtn) {
2731        showVirtualTourBtn.addEventListener('click', function () {
2732          const modalElement = document.getElementById('apartmentVirtualTourModal');
2733          const modalFrame = document.getElementById('apartmentVirtualTourFrame');
2734          const modalTitle = document.getElementById('apartmentVirtualTourModalLabel');
2735
2736          if (!modalElement || !modalFrame || !window.bootstrap || !bootstrap.Modal) {
2737            return;
2738          }
2739
2740          modalFrame.src = apartment.spacerUrl;
2741          modalFrame.title = `Spacer 3D po lokalu ${apartment.lokal}, budynek ${apartment.building}`;
2742          modalTitle.textContent = `Spacer 3D – budynek ${apartment.building}, lokal ${apartment.lokal}`;
2743
2744          bootstrap.Modal.getOrCreateInstance(modalElement).show();
2745        });
2746      }
2747
2748      const scrollToConfigBtn = document.getElementById('scrollToConfigBtn');
2749      if (scrollToConfigBtn) {
2750        scrollToConfigBtn.addEventListener('click', function () {
2751          document.getElementById('offerConfigCard')?.scrollIntoView({ behavior: 'smooth', block: 'start' });
2752        });
2753      }
2754
2755      renderExtrasLists();
2756      renderExtrasSummary();
2757    }
2758
2759    function prepareFloorSvg(svg) {
2760      svg.querySelectorAll('[id^="B"]').forEach(el => {
2761        el.classList.remove('wolny', 'rezerwacja', 'sprzedany', 'is-disabled', 'is-selected');
2762
2763        const apartment = APARTMENTS[el.id];
2764
2765        if (!apartment) {
2766          el.classList.add('is-disabled');
2767          return;
2768        }
2769
2770        el.classList.add(apartment.status);
2771
2772        el.addEventListener('click', function () {
2773          currentApartmentId = el.id;
2774          selectedParkingIds = [];
2775          selectedStorageId = null;
2776          setSelectedApartmentShape(currentApartmentId);
2777          renderApartmentDetails(apartment);
2778        });
2779      });
2780    }
2781
2782    function renderFloor(floorId) {
2783      currentFloorId = floorId;
2784      currentApartmentId = null;
2785
2786      setActiveOverviewFloor(floorId);
2787      selectedFloorLabel.textContent = FLOOR_LABELS[floorId] || 'Wybrana kondygnacja';
2788
2789      const template = document.getElementById('tpl-' + floorId);
2790
2791      if (!template) {
2792        floorplanStage.innerHTML = `
2793          <div class="placeholder-message">
2794            Brak przypisanego rzutu dla tej kondygnacji.
2795          </div>
2796        `;
2797        apartmentDetails.innerHTML = `
2798          <div class="placeholder-message placeholder-message--details">
2799            Brak danych do wyświetlenia.
2800          </div>
2801        `;
2802        return;
2803      }
2804
2805      floorplanStage.innerHTML = template.innerHTML.trim();
2806
2807      const floorSvg = floorplanStage.querySelector('svg');
2808      if (!floorSvg) return;
2809
2810      prepareFloorSvg(floorSvg);
2811
2812      const firstApartmentShape = Array.from(floorSvg.querySelectorAll('[id^="B"]')).find(el => APARTMENTS[el.id]);
2813
2814      if (firstApartmentShape) {
2815        currentApartmentId = firstApartmentShape.id;
2816        selectedParkingIds = [];
2817        selectedStorageId = null;
2818        setSelectedApartmentShape(currentApartmentId);
2819        renderApartmentDetails(APARTMENTS[currentApartmentId]);
2820      } else {
2821        apartmentDetails.innerHTML = `
2822          <div class="placeholder-message placeholder-message--details">
2823            Brak danych lokali przypisanych do tej kondygnacji.
2824          </div>
2825        `;
2826      }
2827    }
2828
2829    function bindOverviewFloorClicks() {
2830      if (!buildingStage) return;
2831
2832      buildingStage.querySelectorAll('.floor-shape').forEach(shape => {
2833        shape.addEventListener('click', function () {
2834          if (isRotating) return;
2835          renderFloor(getOverviewFloorId(this));
2836        });
2837      });
2838    }
2839
2840    function finishRotation(targetView) {
2841      currentOverviewView = targetView;
2842      isRotating = false;
2843
2844      setActiveOverviewLayer(currentOverviewView);
2845
2846      if (currentFloorId) {
2847        setActiveOverviewFloor(currentFloorId);
2848      }
2849
2850      buildingStage.classList.remove('is-rotating');
2851      rotateViewBtn.disabled = false;
2852      rotateVideo.pause();
2853      rotateVideo.removeAttribute('src');
2854      rotateVideo.load();
2855    }
2856
2857    function rotateOverview() {
2858  if (!buildingStage || !rotateVideo || !rotateViewBtn || isRotating) return;
2859
2860  const targetView = currentOverviewView === 'front' ? 'back' : 'front';
2861  const videoSrc = currentOverviewView === 'front' ? ROTATE_VIDEOS.front : ROTATE_VIDEOS.back;
2862
2863  isRotating = true;
2864  rotateViewBtn.disabled = true;
2865
2866  rotateVideo.pause();
2867  rotateVideo.src = videoSrc;
2868  rotateVideo.currentTime = 0;
2869  rotateVideo.load();
2870
2871  rotateVideo.onended = function () {
2872    finishRotation(targetView);
2873  };
2874
2875  rotateVideo.onerror = function () {
2876    finishRotation(targetView);
2877  };
2878
2879  rotateVideo.oncanplay = function () {
2880    rotateVideo.oncanplay = null;
2881
2882    buildingStage.classList.add('is-rotating');
2883
2884    const playPromise = rotateVideo.play();
2885
2886    if (playPromise && typeof playPromise.catch === 'function') {
2887      playPromise.catch(function () {
2888        finishRotation(targetView);
2889      });
2890    }
2891  };
2892}
2893
2894
2895    function getOfferPayload() {
2896      const apartment = getCurrentApartment();
2897
2898      return {
2899        apartment,
2900        parking: getSelectedParkingItems(),
2901        storage: getSelectedStorageItem(),
2902        total: getOfferTotal()
2903      };
2904    }
2905
2906    function getOfferSummaryText(payload) {
2907      if (!payload || !payload.apartment) return '';
2908
2909      return [
2910        `Budynek: ${payload.apartment.building}`,
2911        `Lokal: ${payload.apartment.lokal}`,
2912        `Status: ${(STATUS_META[payload.apartment.status] || STATUS_META.wolny).label}`,
2913        `Powierzchnia: ${formatArea(payload.apartment.metraz)}`,
2914        `Cena lokalu: ${formatPricePL(payload.apartment.cena_aktualna)}`,
2915        `Miejsca parkingowe: ${payload.parking.length ? payload.parking.map(i => `${i.label} (${formatPricePL(i.cena)})`).join(', ') : 'nie wybrano'}`,
2916        `Komórka lokatorska: ${payload.storage ? `${payload.storage.label} (${formatPricePL(payload.storage.cena)})` : 'nie wybrano'}`,
2917        `Cena konfiguracji: ${formatSimplePrice(payload.total)}`
2918      ].join('\n');
2919    }
2920
2921    function getOfferSummaryHtml(payload) {
2922  if (!payload || !payload.apartment) return '';
2923
2924  const apartment = payload.apartment;
2925  const statusLabel = (STATUS_META[apartment.status] || STATUS_META.wolny).label;
2926
2927  const parkingText = payload.parking.length
2928    ? payload.parking.map(i => `${escapeHtml(i.label)} (${formatPricePL(i.cena)})`).join(', ')
2929    : 'nie wybrano';
2930
2931  const storageText = payload.storage
2932    ? `${escapeHtml(payload.storage.label)} (${formatPricePL(payload.storage.cena)})`
2933    : 'nie wybrano';
2934
2935  return `
2936    <div class="offer-summary-layout">
2937      <div class="offer-summary-side">
2938        <div class="offer-summary-row">
2939          <i class="fa-regular fa-building"></i>
2940          <span>Budynek:</span>
2941          <strong>${escapeHtml(apartment.building)}</strong>
2942        </div>
2943
2944        <div class="offer-summary-row">
2945          <i class="fa-regular fa-square"></i>
2946          <span>Lokal:</span>
2947          <strong>${escapeHtml(apartment.lokal)}</strong>
2948        </div>
2949
2950        <div class="offer-summary-row">
2951          <i class="fa-solid fa-circle offer-summary-status-dot"></i>
2952          <span>Status:</span>
2953          <strong>${statusLabel}</strong>
2954        </div>
2955
2956        <div class="offer-summary-row">
2957          <i class="fa-solid fa-ruler-combined"></i>
2958          <span>Powierzchnia:</span>
2959          <strong>${formatArea(apartment.metraz)}</strong>
2960        </div>
2961
2962        <div class="offer-summary-row">
2963          <i class="fa-solid fa-tag"></i>
2964          <span>Cena lokalu:</span>
2965          <strong>${formatPricePL(apartment.cena_aktualna)}</strong>
2966        </div>
2967      </div>
2968
2969      <div class="offer-summary-side offer-summary-side--right">
2970        <div class="offer-summary-row">
2971          <i class="fa-solid fa-square-parking"></i>
2972          <span>Miejsca parkingowe:</span>
2973          <strong>${parkingText}</strong>
2974        </div>
2975
2976        <div class="offer-summary-row">
2977          <i class="fa-solid fa-box-archive"></i>
2978          <span>Komórka lokatorska:</span>
2979          <strong>${storageText}</strong>
2980        </div>
2981
2982        <div class="offer-summary-price">
2983          <span>Cena konfiguracji:</span>
2984          <strong>${formatSimplePrice(payload.total)}</strong>
2985        </div>
2986      </div>
2987    </div>
2988  `;
2989}
2990
2991function openOfferContactModal() {
2992  const payload = getOfferPayload();
2993  const summary = getOfferSummaryText(payload);
2994  const input = document.getElementById('offerSummaryInput');
2995  const preview = document.getElementById('offerSummaryPreview');
2996
2997  if (input) input.value = summary;
2998  if (preview) preview.innerHTML = getOfferSummaryHtml(payload);
2999
3000  const modalElement = document.getElementById('offerContactModal');
3001  if (modalElement && window.bootstrap && bootstrap.Modal) {
3002    bootstrap.Modal.getOrCreateInstance(modalElement).show();
3003  }
3004}
3005
3006    function bindOfferButtons() {
3007      const contactBtn = document.getElementById('offerContactBtn');
3008      const pdfBtn = document.getElementById('offerPdfBtn');
3009
3010      if (contactBtn) {
3011        contactBtn.addEventListener('click', openOfferContactModal);
3012      }
3013
3014      if (pdfBtn) {
3015        pdfBtn.addEventListener('click', function () {
3016          const payload = getOfferPayload();
3017
3018          const form = document.createElement('form');
3019          form.method = 'POST';
3020          form.action = 'https://tercet-sztum.pl/oferta-pdf';
3021          form.target = '_blank';
3022
3023          const input = document.createElement('input');
3024          input.type = 'hidden';
3025          input.name = 'offer';
3026          input.value = JSON.stringify(payload);
3027
3028          form.appendChild(input);
3029          document.body.appendChild(form);
3030          form.submit();
3031          form.remove();
3032        });
3033      }
3034    }
3035
3036    document.getElementById('extrasSearch')?.addEventListener('input', renderExtrasLists);
3037
3038    document.getElementById('extrasOffcanvas')?.addEventListener('shown.bs.offcanvas', function () {
3039      renderExtrasLists();
3040    });
3041	
3042	const offerContactForm = document.getElementById('offerContactForm');
3043
3044if (offerContactForm) {
3045  offerContactForm.addEventListener('submit', function (event) {
3046    event.preventDefault();
3047
3048    const messageBox = document.getElementById('offerModalMessage');
3049    const submitButton = offerContactForm.querySelector('button[type="submit"]');
3050
3051    if (messageBox) {
3052      messageBox.innerHTML = '';
3053    }
3054
3055    if (submitButton) {
3056      submitButton.disabled = true;
3057      submitButton.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i> Wysyłanie...';
3058    }
3059
3060    fetch('https://tercet-sztum.pl/assets/php/form_oferta.php', {
3061      method: 'POST',
3062      body: new FormData(offerContactForm)
3063    })
3064      .then(response => response.text())
3065      .then(html => {
3066        if (messageBox) {
3067          messageBox.innerHTML = html;
3068        }
3069
3070        if (html.includes('offer-success')) {
3071          offerContactForm.reset();
3072        }
3073      })
3074      .catch(() => {
3075        if (messageBox) {
3076          messageBox.innerHTML = `
3077            <div class="offer-form-alert offer-form-alert--error">
3078              Wystąpił błąd podczas wysyłania. Spróbuj ponownie za chwilę.
3079            </div>
3080          `;
3081        }
3082      })
3083      .finally(() => {
3084        if (submitButton) {
3085          submitButton.disabled = false;
3086          submitButton.innerHTML = '<i class="fa-regular fa-envelope"></i> Wyślij zapytanie';
3087        }
3088      });
3089  });
3090}
3091
3092    bindOverviewFloorClicks();
3093
3094    if (rotateViewBtn) {
3095      rotateViewBtn.addEventListener('click', rotateOverview);
3096    }
3097
3098    bindOfferButtons();
3099
3100    if (FLOOR_IDS.length) {
3101      renderFloor('B_1_1');
3102    }
3103  });
3104</script>
3104
3105
3106<style>
3107.extras-offcanvas {
3108  width: min(520px, 100vw);
3109}
3110
3111.extras-grid {
3112  display: grid;
3113  grid-template-columns: repeat(2, minmax(0, 1fr));
3114  gap: .65rem;
3115}
3116
3117.extra-option {
3118  display: flex;
3119  align-items: flex-start;
3120  gap: .65rem;
3121  padding: .75rem;
3122  border: 1px solid #e9ecef;
3123  border-radius: 14px;
3124  background: #fff;
3125  cursor: pointer;
3126  transition: border-color .2s ease, background .2s ease, transform .2s ease;
3127}
3128
3129.extra-option:hover {
3130  border-color: #0d6efd;
3131  background: #f8fbff;
3132}
3133
3134.extra-option input {
3135  margin-top: .25rem;
3136}
3137
3138.extra-option strong {
3139  display: block;
3140  line-height: 1.2;
3141}
3142
3143.extra-option small {
3144  display: block;
3145  color: #6c757d;
3146  margin-top: .15rem;
3147}
3148
3149.extra-option.is-disabled {
3150  opacity: .55;
3151  cursor: not-allowed;
3152  background: #f8f9fa;
3153}
3154
3155.extras-summary-bar {
3156  position: sticky;
3157  bottom: 0;
3158  z-index: 2;
3159  display: flex;
3160  align-items: center;
3161  justify-content: space-between;
3162  gap: 1rem;
3163  padding: 1rem;
3164  background: #fff;
3165  border-top: 1px solid #e9ecef;
3166  box-shadow: 0 -8px 24px rgba(0,0,0,.06);
3167}
3168
3169.detail-box--total {
3170  grid-column: 1 / -1;
3171}
3172
3173@media (max-width: 575.98px) {
3174  .extras-offcanvas {
3175    width: 100vw;
3176  }
3177
3178  .extras-grid {
3179    grid-template-columns: 1fr;
3180  }
3181
3182  .extras-summary-bar {
3183    padding-bottom: calc(1rem + env(safe-area-inset-bottom));
3184  }
3185
3186  .extras-summary-bar .btn {
3187    min-width: 130px;
3188  }
3189}
3190.offer-summary-layout {
3191  display: grid;
3192  grid-template-columns: 1fr 1fr;
3193  gap: 1.75rem;
3194  align-items: start;
3195}
3196
3197.offer-summary-side--right {
3198  border-left: 1px solid #e5e7eb;
3199  padding-left: 1.75rem;
3200}
3201
3202.offer-summary-row {
3203  display: grid;
3204  grid-template-columns: 22px 1fr auto;
3205  gap: .75rem;
3206  align-items: center;
3207  margin-bottom: .85rem;
3208}
3209
3210.offer-summary-row i {
3211  color: #6c757d;
3212  text-align: center;
3213}
3214
3215.offer-summary-row span {
3216  color: #495057;
3217}
3218
3219.offer-summary-row strong {
3220  text-align: right;
3221  font-weight: 700;
3222}
3223
3224.offer-summary-status-dot {
3225  font-size: .8rem;
3226}
3227
3228.offer-summary-price {
3229  margin-top: 1.25rem;
3230  padding-top: 1.25rem;
3231  border-top: 1px dashed #d8dee6;
3232}
3233
3234.offer-summary-price span {
3235  display: block;
3236  margin-bottom: .35rem;
3237  color: #495057;
3238}
3239
3240.offer-summary-price strong {
3241  display: block;
3242  font-size: 1.6rem;
3243  color: #1f5b3d;
3244  font-weight: 800;
3245}
3246
3247@media (max-width: 767.98px) {
3248  .offer-summary-layout {
3249    grid-template-columns: 1fr;
3250  }
3251
3252  .offer-summary-side--right {
3253    border-left: 0;
3254    padding-left: 0;
3255    border-top: 1px solid #e5e7eb;
3256    padding-top: 1rem;
3257  }
3258}
3259.offer-modal__summary {
3260  align-items: start;
3261}
3262
3263.offer-modal__summary-text {
3264  width: 100%;
3265}
3266
3267.offer-summary-side {
3268  align-self: start;
3269}
3270
3271.offer-summary-row {
3272  margin-bottom: .7rem;
3273}
3274.offer-form-alert {
3275  padding: 1rem 1.15rem;
3276  border-radius: 14px;
3277  margin-bottom: 1.25rem;
3278  font-size: .95rem;
3279}
3280
3281.offer-form-alert--success {
3282  background: rgba(25,135,84,.10);
3283  border: 1px solid rgba(25,135,84,.25);
3284  color: #0f5132;
3285}
3286
3287.offer-form-alert--error {
3288  background: rgba(220,53,69,.10);
3289  border: 1px solid rgba(220,53,69,.25);
3290  color: #842029;
3291}
3292</style>
3293	
3294<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css">
3295	
3296<style>
3297/* === SCOPED STYLES === */
3298.lc{ /* lokalne "zmienne" przez custom props, tylko w obrębie komponentu */
3299  --lc-bg:#f7f7f8;
3300  --lc-card:#ffffff;
3301  --lc-muted:#6b7280;
3302  --lc-text:#111827;
3303  --lc-border:#B9B9B9;
3304  --lc-primary:#0284c7;
3305  --lc-success:#16a34a;
3306  --lc-badge-wolny-bg:#ecfdf5; --lc-badge-wolny-br:#a7f3d0; --lc-badge-wolny-tx:#065f46;
3307  --lc-badge-rezerwacja-bg:#fff7ed; --lc-badge-rezerwacja-br:#fed7aa; --lc-badge-rezerwacja-tx:#9a3412;
3308  --lc-badge-sprzedany-bg:#FFEDED; --lc-badge-sprzedany-br:#FEAAAA; --lc-badge-sprzedany-tx:#9A1111;
3309  font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;
3310  color:var(--lc-text);
3311}
3312
3313/* Desktop table */
3314.lc .lc-table{padding:16px}
3315.lc table{width:100%;border-collapse:collapse;overflow:hidden}
3316.lc th,.lc td{padding:10px 16px;border-bottom:1px solid var(--lc-border);text-align:center;font-size:15px}
3317.lc th{background:#f2f4f7;text-transform:uppercase;font-size:12px;letter-spacing:.04em;color:#4b5563}
3318/*.lc .lc-price{display:flex;flex-direction:column;gap:4px;align-items:center}*/
3319.lc .lc-btn{padding:10px 14px;border:none;border-radius:10px;font-weight:600;cursor:pointer}
3320.lc .lc-btn-button {
3321    background-color: transparent;
3322    border: solid 1px #8A826C;
3323    color: #868176;
3324    padding: 12px;
3325    text-decoration: none;
3326    font-size: 12px;
3327	border-radius:5px;
3328    display: inline-block;
3329	transition: all 0.5s;
3330}
3331table tr:nth-child(even) {
3332    background-color: #f2f2f2;
3333}
3334.lc .lc-btn-button:hover {
3335    background-color: #8A826C;
3336    border: solid 1px #8A826C;
3337    color: #fff;
3338	transition: all 0.5s;
3339}
3340
3341/* Badges */
3342.lc .lc-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}
3343.lc .lc-badge.wolny{background:var(--lc-badge-wolny-bg);border:1px solid var(--lc-badge-wolny-br);color:var(--lc-badge-wolny-tx)}
3344.lc .lc-badge.rezerwacja{background:var(--lc-badge-rezerwacja-bg);border:1px solid var(--lc-badge-rezerwacja-br);color:var(--lc-badge-rezerwacja-tx)}
3345.lc .lc-badge.sprzedany{background:var(--lc-badge-sprzedany-bg);border:1px solid var(--lc-badge-sprzedany-br);color:var(--lc-badge-sprzedany-tx)}
3346/* Mobile cards (hidden ≥768px) */
3347.lc .lc-cards{display:none;padding:12px;gap:12px;}
3348.lc .lc-card{background:var(--lc-card);border:1px solid var(--lc-border);border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.06);padding:14px}
3349.lc .lc-card__header{display:flex;align-items:center;gap:12px}
3350.lc .lc-card__icon{width:40px;height:40px;border-radius:50%;background:#C3BDB8;color:#fff;display:grid;place-items:center;font-size:18px;flex:0 0 auto}
3351.lc .lc-card__title{font-weight:700;line-height:1.2}
3352.lc .lc-card__sub{color:var(--lc-muted);font-size:13px}
3353.lc .lc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
3354.lc .lc-info{display:flex;gap:8px}
3355.lc .lc-info i{color:#C3BDB8}
3356.lc .lc-info__label{color:var(--lc-muted);font-size:12px}
3357.lc .lc-info__val{font-weight:700}
3358.lc .lc-divider{height:1px;background:var(--lc-border);margin:8px 0}
3359.lc .lc-total{font-size:14px;color:var(--lc-muted)}
3360.lc .lc-price-strong{font-size:22px;font-weight:700;margin:4px 0}
3361.lc .lc-note{color:var(--lc-muted);font-size:12px}
3362.lc .lc-actions{display:flex;gap:8px;margin-top:12px}
3363.lc .lc-btn--ghost{flex:1;background:#efe7db;border:1px solid #e2d6c5;border-radius:12px;padding:10px 12px;font-weight:400;color:#6b4e2e;display:flex;justify-content:center;gap:8px;align-items:center; font-size: 12px; text-decoration: none}
3364
3365/* Responsive switch – tylko w obrębie .lc */
3366@media (max-width: 1199px){
3367  .lc .lc-table{display:none}
3368  .lc .lc-cards{display:grid}
3369}
3370	
3371</style>
3372<div class="container-fluid">
3373<div class="lc">
3374  
3375  <div class="lc-table">
3376    <table>
3377      <thead>
3378        <tr>
3379		  <th>Budynek</th>
3380          <th>Lokal</th>
3381          <th>Status</th>
3382          <th>Powierzchnia</th>
3383          <th>Cena brutto<br>(cena za m²)</th>
3384          <th>Balkon<br>Ogród</th>
3385          <th>Karta lokalu</th>
3386		  <th>Historia oferty</th>
3387          <th>Zapytanie</th>
3388        </tr>
3389      </thead>
3390      <tbody>
3391				        <tr>
3392			<td><i class="fa-solid fa-house"></i> 1</td>
3393          <td><i class="fa-solid fa-door-open"></i> M1</td>
3394          <td><span class="lc-badge wolny">wolny</span></td>
3395          <td><i class="fa-regular fa-square"></i> 53,53m²</td>
3396          <td class="lc-price">
3397                          <span>570 094 PLN</span><br>
3398              <small>10650 PLN/m²</small>
3399                      </td>
3400          <td>
3401                          <div class="lc-price">
3402                <span>ogród</span><br>
3403                <small>107,83 m²</small>
3404              </div>
3405                      </td>
3406		  <td>
3407                                          <a href="https://tercet-sztum.pl/media/site/fa918b09c2-1774045883/tercet_b1_m1.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3408                                                  </td>
3409		  <td>
3410                          <button class="lc-btn-button js-history" type="button" data-budynek="1" data-lokal="M1">HISTORIA CEN</button>
3411                      </td>
3412          <td>
3413                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3414                      </td>
3415        </tr>
3416				        <tr>
3417			<td><i class="fa-solid fa-house"></i> 1</td>
3418          <td><i class="fa-solid fa-door-open"></i> M2</td>
3419          <td><span class="lc-badge sprzedany">sprzedany</span></td>
3420          <td>—</td>
3421          <td class="lc-price">
3422                          —
3423                      </td>
3424          <td>
3425                          —
3426                      </td>
3427		  <td>
3428                          —
3429                      </td>
3430		  <td>
3431                          —
3432                      </td>
3433          <td>
3434                          —
3435                      </td>
3436        </tr>
3437				        <tr>
3438			<td><i class="fa-solid fa-house"></i> 1</td>
3439          <td><i class="fa-solid fa-door-open"></i> M3</td>
3440          <td><span class="lc-badge wolny">wolny</span></td>
3441          <td><i class="fa-regular fa-square"></i> 48,67m²</td>
3442          <td class="lc-price">
3443                          <span>518 335 PLN</span><br>
3444              <small>10650 PLN/m²</small>
3445                      </td>
3446          <td>
3447                          <div class="lc-price">
3448                <span>ogród</span><br>
3449                <small>74,83 m²</small>
3450              </div>
3451                      </td>
3452		  <td>
3453                                          <a href="https://tercet-sztum.pl/media/site/71fe862016-1774045884/tercet_b1_m3.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3454                                                  </td>
3455		  <td>
3456                          <button class="lc-btn-button js-history" type="button" data-budynek="1" data-lokal="M3">HISTORIA CEN</button>
3457                      </td>
3458          <td>
3459                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3460                      </td>
3461        </tr>
3462				        <tr>
3463			<td><i class="fa-solid fa-house"></i> 1</td>
3464          <td><i class="fa-solid fa-door-open"></i>
3464 M4</td>
3465          <td><span class="lc-badge wolny">wolny</span></td>
3466          <td><i class="fa-regular fa-square"></i> 57,71m²</td>
3467          <td class="lc-price">
3468                          <span>548 245 PLN</span><br>
3469              <small>9500 PLN/m²</small>
3470                      </td>
3471          <td>
3472                          <div class="lc-price">
3473                <span>balkon</span><br>
3474                <small></small>
3475              </div>
3476                      </td>
3477		  <td>
3478                                          <a href="https://tercet-sztum.pl/media/site/8523416013-1774045884/tercet_b1_m4.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3479                                                  </td>
3480		  <td>
3481                          <button class="lc-btn-button js-history" type="button" data-budynek="1" data-lokal="M4">HISTORIA CEN</button>
3482                      </td>
3483          <td>
3484                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3485                      </td>
3486        </tr>
3487				        <tr>
3488			<td><i class="fa-solid fa-house"></i> 1</td>
3489          <td><i class="fa-solid fa-door-open"></i> M5</td>
3490          <td><span class="lc-badge sprzedany">sprzedany</span></td>
3491          <td>—</td>
3492          <td class="lc-price">
3493                          —
3494                      </td>
3495          <td>
3496                          —
3497                      </td>
3498		  <td>
3499                          —
3500                      </td>
3501		  <td>
3502                          —
3503                      </td>
3504          <td>
3505                          —
3506                      </td>
3507        </tr>
3508				        <tr>
3509			<td><i class="fa-solid fa-house"></i> 1</td>
3510          <td><i class="fa-solid fa-door-open"></i> M6</td>
3511          <td><span class="lc-badge sprzedany">sprzedany</span></td>
3512          <td>—</td>
3513          <td class="lc-price">
3514                          —
3515                      </td>
3516          <td>
3517                          —
3518                      </td>
3519		  <td>
3520                          —
3521                      </td>
3522		  <td>
3523                          —
3524                      </td>
3525          <td>
3526                          —
3527                      </td>
3528        </tr>
3529				        <tr>
3530			<td><i class="fa-solid fa-house"></i> 1</td>
3531          <td><i class="fa-solid fa-door-open"></i> M7</td>
3532          <td><span class="lc-badge wolny">wolny</span></td>
3533          <td><i class="fa-regular fa-square"></i> 36,01m²</td>
3534          <td class="lc-price">
3535                          <span>351 097 PLN</span><br>
3536              <small>9750 PLN/m²</small>
3537                      </td>
3538          <td>
3539                          <div class="lc-price">
3540                <span>balkon</span><br>
3541                <small></small>
3542              </div>
3543                      </td>
3544		  <td>
3545                                          <a href="https://tercet-sztum.pl/media/site/30bf842b7e-1774045884/tercet_b1_m7.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3546                                                  </td>
3547		  <td>
3548                          <button class="lc-btn-button js-history" type="button" data-budynek="1" data-lokal="M7">HISTORIA CEN</button>
3549                      </td>
3550          <td>
3551                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3552                      </td>
3553        </tr>
3554				        <tr>
3555			<td><i class="fa-solid fa-house"></i> 1</td>
3556          <td><i class="fa-solid fa-door-open"></i> M8</td>
3557          <td><span class="lc-badge wolny">wolny</span></td>
3558          <td><i class="fa-regular fa-square"></i> 53,37m²</td>
3559          <td class="lc-price">
3560                          <span>504 346 PLN</span><br>
3561              <small>9650 PLN/m²</small>
3562                      </td>
3563          <td>
3564                          <div class="lc-price">
3565                <span>balkon</span><br>
3566                <small></small>
3567              </div>
3568                      </td>
3569		  <td>
3570                                          <a href="https://tercet-sztum.pl/media/site/82477a2ae1-1774045884/tercet_b1_m8.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3571                                                  </td>
3572		  <td>
3573                          <button class="lc-btn-button js-history" type="button" data-budynek="1" data-lokal="M8">HISTORIA CEN</button>
3574                      </td>
3575          <td>
3576                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3577                      </td>
3578        </tr>
3579				        <tr>
3580			<td><i class="fa-solid fa-house"></i> 1</td>
3581          <td><i class="fa-solid fa-door-open"></i> M9</td>
3582          <td><span class="lc-badge rezerwacja">rezerwacja</span></td>
3583          <td><i class="fa-regular fa-square"></i> 62,67m²</td>
3584          <td class="lc-price">
3585                          <span>601 632 PLN</span><br>
3586              <small>9600 PLN/m²</small>
3587                      </td>
3588          <td>
3589                          <div class="lc-price">
3590                <span>balkon</span><br>
3591                <small></small>
3592              </div>
3593                      </td>
3594		  <td>
3595                                          <a href="https://tercet-sztum.pl/media/site/b3c5c85545-1774045884/tercet_b1_m9.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3596                                                  </td>
3597		  <td>
3598                          <button class="lc-btn-button js-history" type="button" data-budynek="1" data-lokal="M9">HISTORIA CEN</button>
3599                      </td>
3600          <td>
3601                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3602                      </td>
3603        </tr>
3604				        <tr>
3605			<td><i class="fa-solid fa-house"></i> 1</td>
3606          <td><i class="fa-solid fa-door-open"></i> M10</td>
3607          <td><span class="lc-badge wolny">wolny</span></td>
3608          <td><i class="fa-regular fa-square"></i> 25,41m²</td>
3609          <td class="lc-price">
3610                          <span>260 452 PLN</span><br>
3611              <small>10250 PLN/m²</small>
3612                      </td>
3613          <td>
3614                          <div class="lc-price">
3615                <span>balkon</span><br>
3616                <small></small>
3617              </div>
3618                      </td>
3619		  <td>
3620                                          <a href="https://tercet-sztum.pl/media/site/2758f25e1d-1774045884/tercet_b1_m10.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3621                                                  </td>
3622		  <td>
3623                          <button class="lc-btn-button js-history" type="button" data-budynek="1" data-lokal="M10">HISTORIA CEN</button>
3624                      </td>
3625          <td>
3626                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3627                      </td>
3628        </tr>
3629				        <tr>
3630			<td><i class="fa-solid fa-house"></i> 1</td>
3631          <td><i class="fa-solid fa-door-open"></i> M11</td>
3632          <td><span class="lc-badge wolny">wolny</span></td>
3633          <td><i class="fa-regular fa-square"></i> 62,97m²</td>
3634          <td class="lc-price">
3635                          <span>604 512 PLN</span><br>
3636              <small>9600 PLN/m²</small>
3637                      </td>
3638          <td>
3639                          <div class="lc-price">
3640                <span>balkon</span><br>
3641                <small></small>
3642              </div>
3643                      </td>
3644		  <td>
3645                                          <a href="https://tercet-sztum.pl/media/site/04170b163f-1774045884/tercet_b1_m11.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3646                                                  </td>
3647		  <td>
3648                          <button class="lc-btn-button js-history" type="button" data-budynek="1" data-lokal="M11">HISTORIA CEN</button>
3649                      </td>
3650          <td>
3651                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3652                      </td>
3653        </tr>
3654				        <tr>
3655			<td><i class="fa-solid fa-house"></i> 2</td>
3656          <td><i class="fa-solid fa-door-open"></i> M1</td>
3657          <td><span class="lc-badge wolny">wolny</span></td>
3658          <td><i class="fa-regular fa-square"></i> 53,53m²</td>
3659          <td class="lc-price">
3660                          <span>615 595 PLN</span><br>
3661              <small>11500 PLN/m²</small>
3662                      </td>
3663          <td>
3664                          <div class="lc-price">
3665                <span>ogród</span><br>
3666                <small>111,65 m²</small>
3667              </div>
3668                      </td>
3669		  <td>
3670                                          <a href="https://tercet-sztum.pl/media/site/f855b00992-1774045884/tercet_b2_m1.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3671                                                  </td>
3672		  <td>
3673                          <button class="lc-btn-button js-history" type="button" data-budynek="2" data-lokal="M1">HISTORIA CEN</button>
3674                      </td>
3675          <td>
3676                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3677                      </td>
3678        </tr>
3679				        <tr>
3680			<td><i class="fa-solid fa-house"></i> 2</td>
3681          <td><i class="fa-solid fa-door-open"></i> M2</td>
3682          <td><span class="lc-badge sprzedany">sprzedany</span></td>
3683          <td>—</td>
3684          <td class="lc-price">
3685                          —
3686                      </td>
3687          <td>
3688                          —
3689                      </td>
3690		  <td>
3691                          —
3692                      </td>
3693		  <td>
3694                          —
3695                      </td>
3696          <td>
3697                          —
3698                      </td>
3699        </tr>
3700				        <tr>
3701			<td><i class="fa-solid fa-house"></i> 2</td>
3702          <td><i class="fa-solid fa-door-open"></i> M3</td>
3703          <td><span class="lc-badge sprzedany">sprzedany</span></td>
3704          <td>—</td>
3705          <td class="lc-price">
3706                          —
3707                      </td>
3708          <td>
3709                          —
3710                      </td>
3711		  <td>
3712                          —
3713                      </td>
3714		  <td>
3715                          —
3716                      </td>
3717          <td>
3718                          —
3719                      </td>
3720        </tr>
3721				        <tr>
3722			<td><i class="fa-solid fa-house"></i> 2</td>
3723          <td><i class="fa-solid fa-door-open"></i> M4</td>
3724          <td><span class="lc-badge sprzedany">sprzedany</span></td>
3725          <td>—</td>
3726          <td class="lc-price">
3727                          —
3728                      </td>
3729          <td>
3730                          —
3731                      </td>
3732		  <td>
3733                          —
3734                      </td>
3735		  <td>
3736                          —
3737                      </td>
3738          <td>
3739                          —
3740                      </td>
3741        </tr>
3742				        <tr>
3743			<td><i class="fa-solid fa-house"></i> 2</td>
3744          <td><i class="fa-solid fa-door-open"></i> M5</td>
3745          <td><span class="lc-badge sprzedany">sprzedany</span></td>
3746          <td>—</td>
3747          <td class="lc-price">
3748                          —
3749                      </td>
3750          <td>
3751                          —
3752                      </td>
3753		  <td>
3754                          —
3755                      </td>
3756		  <td>
3757                          —
3758                      </td>
3759          <td>
3760                          —
3761                      </td>
3762        </tr>
3763				        <tr>
3764			<td><i class="fa-solid fa-house"></i> 2</td>
3765          <td><i class="fa-solid fa-door-open"></i> M6</td>
3766          <td><span class="lc-badge sprzedany">sprzedany</span></td>
3767          <td>—</td>
3768          <td class="lc-price">
3769                          —
3770                      </td>
3771          <td>
3772                          —
3773                      </td>
3774		  <td>
3775                          —
3776                      </td>
3777		  <td>
3778                          —
3779                      </td>
3780          <td>
3781                          —
3782                      </td>
3783        </tr>
3784				        <tr>
3785			<td><i class="fa-solid fa-house"></i> 2</td>
3786          <td><i class="fa-solid fa-door-open"></i> M7</td>
3787          <td><span class="lc-badge sprzedany">sprzedany</span></td>
3788          <td>—</td>
3789          <td class="lc-price">
3790                          —
3791                      </td>
3792          <td>
3793                          —
3794                      </td>
3795		  <td>
3796                          —
3797                      </td>
3798		  <td>
3799                          —
3800                      </td>
3801          <td>
3802                          —
3803                      </td>
3804        </tr>
3805				        <tr>
3806			<td><i class="fa-solid fa-house"></i> 2</td>
3807          <td><i class="fa-solid fa-door-open"></i> M8</td>
3808          <td><span class="lc-badge wolny">wolny</span></td>
3809          <td><i class="fa-regular fa-square"></i> 53,37m²</td>
3810          <td class="lc-price">
3811                          <span>565 722 PLN</span><br>
3812              <small>10600 PLN/m²</small>
3813                      </td>
3814          <td>
3815                          <div class="lc-price">
3816                <span>balkon</span><br>
3817                <small></small>
3818              </div>
3819                      </td>
3820		  <td>
3821                                          <a href="https://tercet-sztum.pl/media/site/1d316de818-1774045885/tercet_b2_m8.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3822                                                  </td>
3823		  <td>
3824                          <button class="lc-btn-button js-history" type="button" data-budynek="2" data-lokal="M8">HISTORIA CEN</button>
3825                      </td>
3826          <td>
3827                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3828                      </td>
3829        </tr>
3830				        <tr>
3831			<td><i class="fa-solid fa-house"></i> 2</td>
3832          <td><i class="fa-solid fa-door-open"></i> M9</td>
3833          <td><span class="lc-badge rezerwacja">rezerwacja</span></td>
3834          <td><i class="fa-regular fa-square"></i> 62,67m²</td>
3835          <td class="lc-price">
3836                          <span>679 969 PLN</span><br>
3837              <small>10850 PLN/m²</small>
3838                      </td>
3839          <td>
3840                          <div class="lc-price">
3841                <span>balkon</span><br>
3842                <small></small>
3843              </div>
3844                      </td>
3845		  <td>
3846                                          <a href="https://tercet-sztum.pl/media/site/3c8f9ad99c-1774045885/tercet_b2_m9.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3847                                                  </td>
3848		  <td>
3849                          <button class="lc-btn-button js-history" type="button" data-budynek="2" data-lokal="M9">HISTORIA CEN</button>
3850                      </td>
3851          <td>
3852                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3853                      </td>
3854        </tr>
3855				        <tr>
3856			<td><i class="fa-solid fa-house"></i> 2</td>
3857          <td><i class="fa-solid fa-door-open"></i> M10</td>
3858          <td><span class="lc-badge wolny">wolny</span></td>
3859          <td><i class="fa-regular fa-square"></i> 25,41m²</td>
3860          <td class="lc-price">
3861                          <span>271 124 PLN</span><br>
3862              <small>11100 PLN/m²</small>
3863                      </td>
3864          <td>
3865                          <div class="lc-price">
3866                <span>balkon</span><br>
3867                <small></small>
3868              </div>
3869                      </td>
3870		  <td>
3871                                          <a href="https://tercet-sztum.pl/media/site/2e58bbc705-1774045884/tercet_b2_m10.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3872                                                  </td>
3873		  <td>
3874                          <button class="lc-btn-button js-history" type="button" data-budynek="2" data-lokal="M10">HISTORIA CEN</button>
3875                      </td>
3876          <td>
3877                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3878                      </td>
3879        </tr>
3880				        <tr>
3881			<td><i class="fa-solid fa-house"></i> 2</td>
3882          <td><i class="fa-solid fa-door-open"></i> M11</td>
3883          <td><span class="lc-badge sprzedany">sprzedany</span></td>
3884          <td>—</td>
3885          <td class="lc-price">
3886                          —
3887                      </td>
3888          <td>
3889                          —
3890                      </td>
3891		  <td>
3892                          —
3893                      </td>
3894		  <td>
3895                          —
3896                      </td>
3897          <td>
3898                          —
3899                      </td>
3900        </tr>
3901				        <tr>
3902			<td><i class="fa-solid fa-house"></i> 3</td>
3903          <td><i class="fa-solid fa-door-open"></i> M1</td>
3904          <td><span class="lc-badge wolny">wolny</span></td>
3905          <td><i class="fa-regular fa-square"></i> 39,94m²</td>
3906          <td class="lc-price">
3907                          <span>519 220 PLN</span><br>
3908              <small>13000 PLN/m²</small>
3909                      </td>
3910          <td>
3911                          <div class="lc-price">
3912                <span>ogród</span><br>
3913                <small>50 m²</small>
3914              </div>
3915                      </td>
3916		  <td>
3917                                          <a href="https://tercet-sztum.pl/media/site/72d4557c57-1774045885/tercet_b3_m1.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3918                                                  </td>
3919		  <td>
3920                          <button class="lc-btn-button js-history" type="button" data-budynek="3" data-lokal="M1">HISTORIA CEN</button>
3921                      </td>
3922          <td>
3923                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3924                      </td>
3925        </tr>
3926				        <tr>
3927			<td><i class="fa-solid fa-house"></i> 3</td>
3928          <td><i class="fa-solid fa-door-open"></i> M2</td>
3929          <td><span class="lc-badge wolny">wolny</span></td>
3930          <td><i class="fa-regular fa-square"></i> 27,74m²</td>
3931          <td class="lc-price">
3932                          <span>350 911 PLN</span><br>
3933              <small>13000 PLN/m²</small>
3934                      </td>
3935          <td>
3936                          <div class="lc-price">
3937                <span>ogród</span><br>
3938                <small>13,91 m²</small>
3939              </div>
3940                      </td>
3941		  <td>
3942                                          <a href="https://tercet-sztum.pl/media/site/f73658de1f-1774045885/tercet_b3_m2.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3943                                                  </td>
3944		  <td>
3945                          <button class="lc-btn-button js-history" type="button" data-budynek="3" data-lokal="M2">HISTORIA CEN</button>
3946                      </td>
3947          <td>
3948                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3949                      </td>
3950        </tr>
3951				        <tr>
3952			<td><i class="fa-solid fa-house"></i> 3</td>
3953          <td><i class="fa-solid fa-door-open"></i> M3</td>
3954          <td><span class="lc-badge wolny">wolny</span></td>
3955          <td><i class="fa-regular fa-square"></i> 36,01m²</td>
3956          <td class="lc-price">
3957                          <span>486 135 PLN</span><br>
3958              <small>13500 PLN/m²</small>
3959                      </td>
3960          <td>
3961                          <div class="lc-price">
3962                <span>ogród</span><br>
3963                <small>67,16 m²</small>
3964              </div>
3965                      </td>
3966		  <td>
3967                                          <a href="https://tercet-sztum.pl/media/site/5abf2d2019-1774045885/tercet_b3_m3.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3968                                                  </td>
3969		  <td>
3970                          <button class="lc-btn-button js-history" type="button" data-budynek="3" data-lokal="M3">HISTORIA CEN</button>
3971                      </td>
3972          <td>
3973                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3974                      </td>
3975        </tr>
3976				        <tr>
3977			<td><i class="fa-solid fa-house"></i> 3</td>
3978          <td><i class="fa-solid fa-door-open"></i> M4</td>
3979          <td><span class="lc-badge rezerwacja">rezerwacja</span></td>
3980          <td><i class="fa-regular fa-square"></i> 48,67m²</td>
3981          <td class="lc-price">
3982                          <span>657 045 PLN</span><br>
3983              <small>13500 PLN/m²</small>
3984                      </td>
3985          <td>
3986                          <div class="lc-price">
3987                <span>ogród</span><br>
3988                <small>74,45 m²</small>
3989              </div>
3990                      </td>
3991		  <td>
3992                                          <a href="https://tercet-sztum.pl/media/site/d4b5e9d01c-1774045885/tercet_b3_m4.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
3993                                                  </td>
3994		  <td>
3995                          <button class="lc-btn-button js-history" type="button" data-budynek="3" data-lokal="M4">HISTORIA CEN</button>
3996                      </td>
3997          <td>
3998                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
3999                      </td>
4000        </tr>
4001				        <tr>
4002			<td><i class="fa-solid fa-house"></i> 3</td>
4003          <td><i class="fa-solid fa-door-open"></i> M5</td>
4004          <td><span class="lc-badge wolny">wolny</span></td>
4005          <td><i class="fa-regular fa-square"></i> 57,71m²</td>
4006          <td class="lc-price">
4007                          <span>750 230 PLN</span><br>
4008              <small>13000 PLN/m²</small>
4009                      </td>
4010          <td>
4011                          <div class="lc-price">
4012                <span>balkon</span><br>
4013                <small></small>
4014              </div>
4015                      </td>
4016		  <td>
4017                                          <a href="https://tercet-sztum.pl/media/site/970c53d700-1774045885/tercet_b3_m5.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
4018                                                  </td>
4019		  <td>
4020                          <button class="lc-btn-button js-history" type="button" data-budynek="3" data-lokal="M5">HISTORIA CEN</button>
4021                      </td>
4022          <td>
4023                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
4024                      </td>
4025        </tr>
4026				        <tr>
4027			<td><i class="fa-solid fa-house"></i> 3</td>
4028          <td><i class="fa-solid fa-door-open"></i> M6</td>
4029          <td><span class="lc-badge sprzedany">sprzedany</span></td>
4030          <td>—</td>
4031          <td class="lc-price">
4032                          —
4033                      </td>
4034          <td>
4035                          —
4036                      </td>
4037		  <td>
4038                          —
4039                      </td>
4040		  <td>
4041                          —
4042                      </td>
4043          <td>
4044                          —
4045                      </td>
4046        </tr>
4047				        <tr>
4048			<td><i class="fa-solid fa-house"></i> 3</td>
4049          <td><i class="fa-solid fa-door-open"></i> M7</td>
4050          <td><span class="lc-badge sprzedany">sprzedany</span></td>
4051          <td>—</td>
4052          <td class="lc-price">
4053                          —
4054                      </td>
4055          <td>
4056                          —
4057                      </td>
4058		  <td>
4059                          —
4060                      </td>
4061		  <td>
4062                          —
4063                      </td>
4064          <td>
4065                          —
4066                      </td>
4067        </tr>
4068				        <tr>
4069			<td><i class="fa-solid fa-house"></i> 3</td>
4070          <td><i class="fa-solid fa-door-open"></i> M8</td>
4071          <td><span class="lc-badge wolny">wolny</span></td>
4072          <td><i class="fa-regular fa-square"></i> 36,01m²</td>
4073          <td class="lc-price">
4074                          <span>473 531 PLN</span><br>
4075              <small>13150 PLN/m²</small>
4076                      </td>
4077          <td>
4078                          <div class="lc-price">
4079                <span>balkon</span><br>
4080                <small></small>
4081              </div>
4082                      </td>
4083		  <td>
4084                                          <a href="https://tercet-sztum.pl/media/site/77ec305044-1774045885/tercet_b3_m8.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
4085                                                  </td>
4086		  <td>
4087                          <button class="lc-btn-button js-history" type="button" data-budynek="3" data-lokal="M8">HISTORIA CEN</button>
4088                      </td>
4089          <td>
4090                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
4091                      </td>
4092        </tr>
4093				        <tr>
4094			<td><i class="fa-solid fa-house"></i> 3</td>
4095          <td><i class="fa-solid fa-door-open"></i> M9</td>
4096          <td><span class="lc-badge wolny">wolny</span></td>
4097          <td><i class="fa-regular fa-square"></i> 53,37m²</td>
4098          <td class="lc-price">
4099                          <span>693 810 PLN</span><br>
4100              <small>13000 PLN/m²</small>
4101                      </td>
4102          <td>
4103                          <div class="lc-price">
4104                <span>balkon</span><br>
4105                <small></small>
4106              </div>
4107                      </td>
4108		  <td>
4109                                          <a href="https://tercet-sztum.pl/media/site/7818334031-1774045886/tercet_b3_m9.pdf" target="_blank" class="lc-btn-button">POBIERZ KARTĘ LOKALU</a><br>
4110                                                  </td>
4111		  <td>
4112                          <button class="lc-btn-button js-history" type="button" data-budynek="3" data-lokal="M9">HISTORIA CEN</button>
4113                      </td>
4114          <td>
4115                          <a href="#kontakt" class="lc-btn-button">ZAPYTAJ O LOKAL</a>
4116                      </td>
4117        </tr>
4118				        <tr>
4119			<td><i class="fa-solid fa-house"></i> 3</td>
4120          <td><i class="fa-solid fa-door-open"></i> M10</td>
4121          <td><span class="lc-badge sprzedany">sprzedany</span></td>
4122          <td>—</td>
4123          <td class="lc-price">
4124                          —
4125                      </td>
4126          <td>
4127                          —
4128                      </td>
4129		  <td>
4130                          —
4131                      </td>
4132		  <td>
4133                          —
4134                      </td>
4135          <td>
4136                          —
4137                      </td>
4138        </tr>
4139				        <tr>
4140			<td><i class="fa-solid fa-house"></i> 3</td>
4141          <td><i class="fa-solid fa-door-open"></i> M11</td>
4142          <td><span class="lc-badge sprzedany">sprzedany</span></td>
4143          <td>—</td>
4144          <td class="lc-price">
4145                          —
4146                      </td>
4147          <td>
4148                          —
4149                      </td>
4150		  <td>
4151                          —
4152                      </td>
4153		  <td>
4154                          —
4155                      </td>
4156          <td>
4157                          —
4158                      </td>
4159        </tr>
4160				        <tr>
4161			<td><i class="fa-solid fa-house"></i> 3</td>
4162          <td><i class="fa-solid fa-door-open"></i> M12</td>
4163          <td><span class="lc-badge sprzedany">sprzedany</span></td>
4164          <td>—</td>
4165          <td class="lc-price">
4166                          —
4167                      </td>
4168          <td>
4169                          —
4170                      </td>
4171		  <td>
4172                          —
4173                      </td>
4174		  <td>
4175                          —
4176                      </td>
4177          <td>
4178                          —
4179                      </td>
4180        </tr>
4181		      </tbody>
4182    </table>
4183  </div>
4184
4185  
4186  <section class="lc-cards">
4187			    <article class="lc-card">
4188      <header class="lc-card__header">
4189        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4190        <div class="lc-card__headings">
4191          <div class="lc-card__title ">Budynek 1 / Lokal M1 <span class="ms-3 lc-badge wolny">wolny</span></div>
4192        </div>
4193      </header>
4194
4195              <div class="lc-grid">
4196          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">53,53 m²</div></div></div>
4197          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4198          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">ogród 107,83 m²</div></div></div>
4199          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">10650 PLN/m²</div></div></div>
4200        </div>
4201
4202        <div class="lc-divider"></div>
4203
4204        <div class="lc-total">Cena całkowita (brutto):</div>
4205        <div class="lc-price-strong">570 094 PLN</div>
4206        <div class="lc-note">(w tym cena nieruchomości: 570 094 PLN)</div>
4207
4208        <div class="lc-actions">
4209                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/fa918b09c2-1774045883/tercet_b1_m1.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4210                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="1" data-lokal="M1">
4211            <i class="fa-solid fa-chart-line"></i> Historia cen
4212          </button>
4213          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4214        </div>
4215          </article>
4216			    <article class="lc-card">
4217      <header class="lc-card__header">
4218        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4219        <div class="lc-card__headings">
4220          <div class="lc-card__title ">Budynek 1 / Lokal M2 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4221        </div>
4222      </header>
4223
4224              <div class="lc-divider"></div>
4225        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4226          </article>
4227			    <article class="lc-card">
4228      <header class="lc-card__header">
4229        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4230        <div class="lc-card__headings">
4231          <div class="lc-card__title ">Budynek 1 / Lokal M3 <span class="ms-3 lc-badge wolny">wolny</span></div>
4232        </div>
4233      </header>
4234
4235              <div class="lc-grid">
4236          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">48,67 m²</div></div></div>
4237          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4238          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">ogród 74,83 m²</div></div></div>
4239          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">
423910650 PLN/m²</div></div></div>
4240        </div>
4241
4242        <div class="lc-divider"></div>
4243
4244        <div class="lc-total">Cena całkowita (brutto):</div>
4245        <div class="lc-price-strong">518 335 PLN</div>
4246        <div class="lc-note">(w tym cena nieruchomości: 518 335 PLN)</div>
4247
4248        <div class="lc-actions">
4249                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/71fe862016-1774045884/tercet_b1_m3.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4250                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="1" data-lokal="M3">
4251            <i class="fa-solid fa-chart-line"></i> Historia cen
4252          </button>
4253          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4254        </div>
4255          </article>
4256			    <article class="lc-card">
4257      <header class="lc-card__header">
4258        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4259        <div class="lc-card__headings">
4260          <div class="lc-card__title ">Budynek 1 / Lokal M4 <span class="ms-3 lc-badge wolny">wolny</span></div>
4261        </div>
4262      </header>
4263
4264              <div class="lc-grid">
4265          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">57,71 m²</div></div></div>
4266          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4267          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">balkon </div></div></div>
4268          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">9500 PLN/m²</div></div></div>
4269        </div>
4270
4271        <div class="lc-divider"></div>
4272
4273        <div class="lc-total">Cena całkowita (brutto):</div>
4274        <div class="lc-price-strong">548 245 PLN</div>
4275        <div class="lc-note">(w tym cena nieruchomości: 548 245 PLN)</div>
4276
4277        <div class="lc-actions">
4278                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/8523416013-1774045884/tercet_b1_m4.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4279                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="1" data-lokal="M4">
4280            <i class="fa-solid fa-chart-line"></i> Historia cen
4281          </button>
4282          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4283        </div>
4284          </article>
4285			    <article class="lc-card">
4286      <header class="lc-card__header">
4287        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4288        <div class="lc-card__headings">
4289          <div class="lc-card__title ">Budynek 1 / Lokal M5 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4290        </div>
4291      </header>
4292
4293              <div class="lc-divider"></div>
4294        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4295          </article>
4296			    <article class="lc-card">
4297      <header class="lc-card__header">
4298        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4299        <div class="lc-card__headings">
4300          <div class="lc-card__title ">Budynek 1 / Lokal M6 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4301        </div>
4302      </header>
4303
4304              <div class="lc-divider"></div>
4305        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4306          </article>
4307			    <article class="lc-card">
4308      <header class="lc-card__header">
4309        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4310        <div class="lc-card__headings">
4311          <div class="lc-card__title ">Budynek 1 / Lokal M7 <span class="ms-3 lc-badge wolny">wolny</span></div>
4312        </div>
4313      </header>
4314
4315              <div class="lc-grid">
4316          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">36,01 m²</div></div></div>
4317          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4318          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">balkon </div></div></div>
4319          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">
43199750 PLN/m²</div></div></div>
4320        </div>
4321
4322        <div class="lc-divider"></div>
4323
4324        <div class="lc-total">Cena całkowita (brutto):</div>
4325        <div class="lc-price-strong">351 097 PLN</div>
4326        <div class="lc-note">(w tym cena nieruchomości: 351 097 PLN)</div>
4327
4328        <div class="lc-actions">
4329                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/30bf842b7e-1774045884/tercet_b1_m7.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4330                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="1" data-lokal="M7">
4331            <i class="fa-solid fa-chart-line"></i> Historia cen
4332          </button>
4333          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4334        </div>
4335          </article>
4336			    <article class="lc-card">
4337      <header class="lc-card__header">
4338        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4339        <div class="lc-card__headings">
4340          <div class="lc-card__title ">Budynek 1 / Lokal M8 <span class="ms-3 lc-badge wolny">wolny</span></div>
4341        </div>
4342      </header>
4343
4344              <div class="lc-grid">
4345          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">53,37 m²</div></div></div>
4346          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4347          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">balkon </div></div></div>
4348          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">9650 PLN/m²</div></div></div>
4349        </div>
4350
4351        <div class="lc-divider"></div>
4352
4353        <div class="lc-total">Cena całkowita (brutto):</div>
4354        <div class="lc-price-strong">504 346 PLN</div>
4355        <div class="lc-note">(w tym cena nieruchomości: 504 346 PLN)</div>
4356
4357        <div class="lc-actions">
4358                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/82477a2ae1-1774045884/tercet_b1_m8.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4359                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="1" data-lokal="M8">
4360            <i class="fa-solid fa-chart-line"></i> Historia cen
4361          </button>
4362          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4363        </div>
4364          </article>
4365			    <article class="lc-card">
4366      <header class="lc-card__header">
4367        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4368        <div class="lc-card__headings">
4369          <div class="lc-card__title ">Budynek 1 / Lokal M9 <span class="ms-3 lc-badge rezerwacja">rezerwacja</span></div>
4370        </div>
4371      </header>
4372
4373              <div class="lc-grid">
4374          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">62,67 m²</div></div></div>
4375          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4376          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">balkon </div></div></div>
4377          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">9600 PLN/m²</div></div></div>
4378        </div>
4379
4380        <div class="lc-divider"></div>
4381
4382        <div class="lc-total">Cena całkowita (brutto):</div>
4383        <div class="lc-price-strong">601 632 PLN</div>
4384        <div class="lc-note">(w tym cena nieruchomości: 601 632 PLN)</div>
4385
4386        <div class="lc-actions">
4387                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/b3c5c85545-1774045884/tercet_b1_m9.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4388                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="1" data-lokal="M9">
4389            <i class="fa-solid fa-chart-line"></i> Historia cen
4390          </button>
4391          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4392        </div>
4393          </article>
4394			    <article class="lc-card">
4395      <header class="lc-card__header">
4396        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4397        <div class="lc-card__headings">
4398          <div class="lc-card__title ">Budynek 1 / Lokal M10 <span class="ms-3 lc-badge wolny">wolny</span></div>
4399        </div>
4400      </header>
4401
4402              <div class="lc-grid">
4403          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">25,41 m²</div></div></div>
4404          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4405          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">balkon </div></div></div>
4406          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">
440610250 PLN/m²</div></div></div>
4407        </div>
4408
4409        <div class="lc-divider"></div>
4410
4411        <div class="lc-total">Cena całkowita (brutto):</div>
4412        <div class="lc-price-strong">260 452 PLN</div>
4413        <div class="lc-note">(w tym cena nieruchomości: 260 452 PLN)</div>
4414
4415        <div class="lc-actions">
4416                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/2758f25e1d-1774045884/tercet_b1_m10.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4417                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="1" data-lokal="M10">
4418            <i class="fa-solid fa-chart-line"></i> Historia cen
4419          </button>
4420          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4421        </div>
4422          </article>
4423			    <article class="lc-card">
4424      <header class="lc-card__header">
4425        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4426        <div class="lc-card__headings">
4427          <div class="lc-card__title ">Budynek 1 / Lokal M11 <span class="ms-3 lc-badge wolny">wolny</span></div>
4428        </div>
4429      </header>
4430
4431              <div class="lc-grid">
4432          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">62,97 m²</div></div></div>
4433          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4434          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">balkon </div></div></div>
4435          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">9600 PLN/m²</div></div></div>
4436        </div>
4437
4438        <div class="lc-divider"></div>
4439
4440        <div class="lc-total">Cena całkowita (brutto):</div>
4441        <div class="lc-price-strong">604 512 PLN</div>
4442        <div class="lc-note">(w tym cena nieruchomości: 604 512 PLN)</div>
4443
4444        <div class="lc-actions">
4445                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/04170b163f-1774045884/tercet_b1_m11.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4446                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="1" data-lokal="M11">
4447            <i class="fa-solid fa-chart-line"></i> Historia cen
4448          </button>
4449          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4450        </div>
4451          </article>
4452			    <article class="lc-card">
4453      <header class="lc-card__header">
4454        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4455        <div class="lc-card__headings">
4456          <div class="lc-card__title ">Budynek 2 / Lokal M1 <span class="ms-3 lc-badge wolny">wolny</span></div>
4457        </div>
4458      </header>
4459
4460              <div class="lc-grid">
4461          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">53,53 m²</div></div></div>
4462          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4463          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">ogród 111,65 m²</div></div></div>
4464          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">11500 PLN/m²</div></div></div>
4465        </div>
4466
4467        <div class="lc-divider"></div>
4468
4469        <div class="lc-total">Cena całkowita (brutto):</div>
4470        <div class="lc-price-strong">615 595 PLN</div>
4471        <div class="lc-note">(w tym cena nieruchomości: 615 595 PLN)</div>
4472
4473        <div class="lc-actions">
4474                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/f855b00992-1774045884/tercet_b2_m1.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4475                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="2" data-lokal="M1">
4476            <i class="fa-solid fa-chart-line"></i> Historia cen
4477          </button>
4478          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4479        </div>
4480          </article>
4481			    <article class="lc-card">
4482      <header class="lc-card__header">
4483        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4484        <div class="lc-card__headings">
4485          <div class="lc-card__title ">Budynek 2 / Lokal M2 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4486        </div>
4487      </header>
4488
4489              <div class="lc-divider"></div>
4490        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4491          </article>
4492			    <article class="lc-card">
4493      <header class="lc-card__header">
4494        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4495        <div class="lc-card__headings">
4496          <div class="lc-card__title ">Budynek 2 / Lokal M3 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4497        </div>
4498      </header>
4499
4500              <div class="lc-divider"></div>
4501        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4502          </article>
4503			    <article class="lc-card">
4504      <header class="lc-card__header">
4505        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4506        <div class="lc-card__headings">
4507          <div class="lc-card__title ">Budynek 2 / Lokal M4 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4508        </div>
4509      </header>
4510
4511              <div class="lc-divider"></div>
4512        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4513          </article>
4514			    <article class="lc-card">
4515      <header class="lc-card__header">
4516        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4517        <div class="lc-card__headings">
4518          <div class="lc-card__title ">Budynek 2 / Lokal M5 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4519        </div>
4520      </header>
4521
4522              <div class="lc-divider"></div>
4523        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4524          </article>
4525			    <article class="lc-card">
4526      <header class="lc-card__header">
4527        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4528        <div class="lc-card__headings">
4529          <div class="lc-card__title ">Budynek 2 / Lokal M6 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4530        </div>
4531      </header>
4532
4533              <div class="lc-divider"></div>
4534        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4535          </article>
4536			    <article class="lc-card">
4537      <header class="lc-card__header">
4538        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4539        <div class="lc-card__headings">
4540          <div class="lc-card__title ">Budynek 2 / Lokal M7 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4541        </div>
4542      </header>
4543
4544              <div class="lc-divider"></div>
4545        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4546          </article>
4547			    <article class="lc-card">
4548      <header class="lc-card__header">
4549        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4550        <div class="lc-card__headings">
4551          <div class="lc-card__title ">Budynek 2 / Lokal M8 <span class="ms-3 lc-badge wolny">wolny</span></div>
4552        </div>
4553      </header>
4554
4555              <div class="lc-grid">
4556          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">53,37 m²</div></div></div>
4557          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4558          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">balkon </div></div></div>
4559          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">
455910600 PLN/m²</div></div></div>
4560        </div>
4561
4562        <div class="lc-divider"></div>
4563
4564        <div class="lc-total">Cena całkowita (brutto):</div>
4565        <div class="lc-price-strong">565 722 PLN</div>
4566        <div class="lc-note">(w tym cena nieruchomości: 565 722 PLN)</div>
4567
4568        <div class="lc-actions">
4569                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/1d316de818-1774045885/tercet_b2_m8.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4570                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="2" data-lokal="M8">
4571            <i class="fa-solid fa-chart-line"></i> Historia cen
4572          </button>
4573          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4574        </div>
4575          </article>
4576			    <article class="lc-card">
4577      <header class="lc-card__header">
4578        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4579        <div class="lc-card__headings">
4580          <div class="lc-card__title ">Budynek 2 / Lokal M9 <span class="ms-3 lc-badge rezerwacja">rezerwacja</span></div>
4581        </div>
4582      </header>
4583
4584              <div class="lc-grid">
4585          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">62,67 m²</div></div></div>
4586          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4587          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">balkon </div></div></div>
4588          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">10850 PLN/m²</div></div></div>
4589        </div>
4590
4591        <div class="lc-divider"></div>
4592
4593        <div class="lc-total">Cena całkowita (brutto):</div>
4594        <div class="lc-price-strong">679 969 PLN</div>
4595        <div class="lc-note">(w tym cena nieruchomości: 679 969 PLN)</div>
4596
4597        <div class="lc-actions">
4598                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/3c8f9ad99c-1774045885/tercet_b2_m9.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4599                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="2" data-lokal="M9">
4600            <i class="fa-solid fa-chart-line"></i> Historia cen
4601          </button>
4602          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4603        </div>
4604          </article>
4605			    <article class="lc-card">
4606      <header class="lc-card__header">
4607        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4608        <div class="lc-card__headings">
4609          <div class="lc-card__title ">Budynek 2 / Lokal M10 <span class="ms-3 lc-badge wolny">wolny</span></div>
4610        </div>
4611      </header>
4612
4613              <div class="lc-grid">
4614          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">25,41 m²</div></div></div>
4615          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4616          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">balkon </div></div></div>
4617          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">11100 PLN/m²</div></div></div>
4618        </div>
4619
4620        <div class="lc-divider"></div>
4621
4622        <div class="lc-total">Cena całkowita (brutto):</div>
4623        <div class="lc-price-strong">271 124 PLN</div>
4624        <div class="lc-note">(w tym cena nieruchomości: 271 124 PLN)</div>
4625
4626        <div class="lc-actions">
4627                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/2e58bbc705-1774045884/tercet_b2_m10.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4628                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="2" data-lokal="M10">
4629            <i class="fa-solid fa-chart-line"></i> Historia cen
4630          </button>
4631          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4632        </div>
4633          </article>
4634			    <article class="lc-card">
4635      <header class="lc-card__header">
4636        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4637        <div class="lc-card__headings">
4638          <div class="lc-card__title ">Budynek 2 / Lokal M11 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4639        </div>
4640      </header>
4641
4642              <div class="lc-divider"></div>
4643        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4644          </article>
4645			    <article class="lc-card">
4646      <header class="lc-card__header">
4647        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4648        <div class="lc-card__headings">
4649          <div class="lc-card__title ">Budynek 3 / Lokal M1 <span class="ms-3 lc-badge wolny">wolny</span></div>
4650        </div>
4651      </header>
4652
4653              <div class="lc-grid">
4654          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">39,94 m²</div></div></div>
4655          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4656          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">ogród 50 m²</div></div></div>
4657          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">
465713000 PLN/m²</div></div></div>
4658        </div>
4659
4660        <div class="lc-divider"></div>
4661
4662        <div class="lc-total">Cena całkowita (brutto):</div>
4663        <div class="lc-price-strong">519 220 PLN</div>
4664        <div class="lc-note">(w tym cena nieruchomości: 519 220 PLN)</div>
4665
4666        <div class="lc-actions">
4667                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/72d4557c57-1774045885/tercet_b3_m1.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4668                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="3" data-lokal="M1">
4669            <i class="fa-solid fa-chart-line"></i> Historia cen
4670          </button>
4671          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4672        </div>
4673          </article>
4674			    <article class="lc-card">
4675      <header class="lc-card__header">
4676        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4677        <div class="lc-card__headings">
4678          <div class="lc-card__title ">Budynek 3 / Lokal M2 <span class="ms-3 lc-badge wolny">wolny</span></div>
4679        </div>
4680      </header>
4681
4682              <div class="lc-grid">
4683          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">27,74 m²</div></div></div>
4684          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4685          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">ogród 13,91 m²</div></div></div>
4686          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">13000 PLN/m²</div></div></div>
4687        </div>
4688
4689        <div class="lc-divider"></div>
4690
4691        <div class="lc-total">Cena całkowita (brutto):</div>
4692        <div class="lc-price-strong">350 911 PLN</div>
4693        <div class="lc-note">(w tym cena nieruchomości: 350 911 PLN)</div>
4694
4695        <div class="lc-actions">
4696                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/f73658de1f-1774045885/tercet_b3_m2.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4697                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="3" data-lokal="M2">
4698            <i class="fa-solid fa-chart-line"></i> Historia cen
4699          </button>
4700          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4701        </div>
4702          </article>
4703			    <article class="lc-card">
4704      <header class="lc-card__header">
4705        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4706        <div class="lc-card__headings">
4707          <div class="lc-card__title ">Budynek 3 / Lokal M3 <span class="ms-3 lc-badge wolny">wolny</span></div>
4708        </div>
4709      </header>
4710
4711              <div class="lc-grid">
4712          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">36,01 m²</div></div></div>
4713          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4714          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">ogród 67,16 m²</div></div></div>
4715          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">13500 PLN/m²</div></div></div>
4716        </div>
4717
4718        <div class="lc-divider"></div>
4719
4720        <div class="lc-total">Cena całkowita (brutto):</div>
4721        <div class="lc-price-strong">486 135 PLN</div>
4722        <div class="lc-note">(w tym cena nieruchomości: 486 135 PLN)</div>
4723
4724        <div class="lc-actions">
4725                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/5abf2d2019-1774045885/tercet_b3_m3.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4726                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="3" data-lokal="M3">
4727            <i class="fa-solid fa-chart-line"></i> Historia cen
4728          </button>
4729          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4730        </div>
4731          </article>
4732			    <article class="lc-card">
4733      <header class="lc-card__header">
4734        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4735        <div class="lc-card__headings">
4736          <div class="lc-card__title ">Budynek 3 / Lokal M4 <span class="ms-3 lc-badge rezerwacja">rezerwacja</span></div>
4737        </div>
4738      </header>
4739
4740              <div class="lc-grid">
4741          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">48,67 m²</div></div></div>
4742          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4743          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">ogród 74,45 m²</div></div></div>
4744          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">
474413500 PLN/m²</div></div></div>
4745        </div>
4746
4747        <div class="lc-divider"></div>
4748
4749        <div class="lc-total">Cena całkowita (brutto):</div>
4750        <div class="lc-price-strong">657 045 PLN</div>
4751        <div class="lc-note">(w tym cena nieruchomości: 657 045 PLN)</div>
4752
4753        <div class="lc-actions">
4754                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/d4b5e9d01c-1774045885/tercet_b3_m4.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4755                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="3" data-lokal="M4">
4756            <i class="fa-solid fa-chart-line"></i> Historia cen
4757          </button>
4758          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4759        </div>
4760          </article>
4761			    <article class="lc-card">
4762      <header class="lc-card__header">
4763        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4764        <div class="lc-card__headings">
4765          <div class="lc-card__title ">Budynek 3 / Lokal M5 <span class="ms-3 lc-badge wolny">wolny</span></div>
4766        </div>
4767      </header>
4768
4769              <div class="lc-grid">
4770          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">57,71 m²</div></div></div>
4771          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4772          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">balkon </div></div></div>
4773          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">13000 PLN/m²</div></div></div>
4774        </div>
4775
4776        <div class="lc-divider"></div>
4777
4778        <div class="lc-total">Cena całkowita (brutto):</div>
4779        <div class="lc-price-strong">750 230 PLN</div>
4780        <div class="lc-note">(w tym cena nieruchomości: 750 230 PLN)</div>
4781
4782        <div class="lc-actions">
4783                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/970c53d700-1774045885/tercet_b3_m5.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4784                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="3" data-lokal="M5">
4785            <i class="fa-solid fa-chart-line"></i> Historia cen
4786          </button>
4787          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4788        </div>
4789          </article>
4790			    <article class="lc-card">
4791      <header class="lc-card__header">
4792        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4793        <div class="lc-card__headings">
4794          <div class="lc-card__title ">Budynek 3 / Lokal M6 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4795        </div>
4796      </header>
4797
4798              <div class="lc-divider"></div>
4799        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4800          </article>
4801			    <article class="lc-card">
4802      <header class="lc-card__header">
4803        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4804        <div class="lc-card__headings">
4805          <div class="lc-card__title ">Budynek 3 / Lokal M7 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4806        </div>
4807      </header>
4808
4809              <div class="lc-divider"></div>
4810        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4811          </article>
4812			    <article class="lc-card">
4813      <header class="lc-card__header">
4814        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4815        <div class="lc-card__headings">
4816          <div class="lc-card__title ">Budynek 3 / Lokal M8 <span class="ms-3 lc-badge wolny">wolny</span></div>
4817        </div>
4818      </header>
4819
4820              <div class="lc-grid">
4821          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">36,01 m²</div></div></div>
4822          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4823          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">balkon </div></div></div>
4824          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">
482413150 PLN/m²</div></div></div>
4825        </div>
4826
4827        <div class="lc-divider"></div>
4828
4829        <div class="lc-total">Cena całkowita (brutto):</div>
4830        <div class="lc-price-strong">473 531 PLN</div>
4831        <div class="lc-note">(w tym cena nieruchomości: 473 531 PLN)</div>
4832
4833        <div class="lc-actions">
4834                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/77ec305044-1774045885/tercet_b3_m8.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4835                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="3" data-lokal="M8">
4836            <i class="fa-solid fa-chart-line"></i> Historia cen
4837          </button>
4838          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4839        </div>
4840          </article>
4841			    <article class="lc-card">
4842      <header class="lc-card__header">
4843        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4844        <div class="lc-card__headings">
4845          <div class="lc-card__title ">Budynek 3 / Lokal M9 <span class="ms-3 lc-badge wolny">wolny</span></div>
4846        </div>
4847      </header>
4848
4849              <div class="lc-grid">
4850          <div class="lc-info align-items-center"><i class="fa-regular fa-square"></i><div><div class="lc-info__label">Powierzchnia</div><div class="lc-info__val">53,37 m²</div></div></div>
4851          <div class="lc-info align-items-center"><div><div class="lc-info__label"> </div><div class="lc-info__val"> </div></div></div>
4852          <div class="lc-info align-items-center"><i class="fa-solid fa-layer-group"></i><div><div class="lc-info__label">Balkon / ogród</div><div class="lc-info__val">balkon </div></div></div>
4853          <div class="lc-info align-items-center"><i class="fa-solid fa-calculator"></i><div><div class="lc-info__label">Cena za m² (brutto)</div><div class="lc-info__val">13000 PLN/m²</div></div></div>
4854        </div>
4855
4856        <div class="lc-divider"></div>
4857
4858        <div class="lc-total">Cena całkowita (brutto):</div>
4859        <div class="lc-price-strong">693 810 PLN</div>
4860        <div class="lc-note">(w tym cena nieruchomości: 693 810 PLN)</div>
4861
4862        <div class="lc-actions">
4863                      <a class="lc-btn lc-btn--ghost" href="https://tercet-sztum.pl/media/site/7818334031-1774045886/tercet_b3_m9.pdf" target="_blank"><i class="fa-regular fa-file-lines"></i>Karta lokalu</a>
4864                    <button class="lc-btn lc-btn--ghost js-history" type="button" data-budynek="3" data-lokal="M9">
4865            <i class="fa-solid fa-chart-line"></i> Historia cen
4866          </button>
4867          <a class="lc-btn lc-btn--ghost" href="#kontakt"><i class="fa-regular fa-file-lines"></i>Zapytanie</a>
4868        </div>
4869          </article>
4870			    <article class="lc-card">
4871      <header class="lc-card__header">
4872        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4873        <div class="lc-card__headings">
4874          <div class="lc-card__title ">Budynek 3 / Lokal M10 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4875        </div>
4876      </header>
4877
4878              <div class="lc-divider"></div>
4879        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4880          </article>
4881			    <article class="lc-card">
4882      <header class="lc-card__header">
4883        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4884        <div class="lc-card__headings">
4885          <div class="lc-card__title ">Budynek 3 / Lokal M11 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4886        </div>
4887      </header>
4888
4889              <div class="lc-divider"></div>
4890        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4891          </article>
4892			    <article class="lc-card">
4893      <header class="lc-card__header">
4894        <div class="lc-card__icon"><i class="fa-solid fa-house"></i></div>
4895        <div class="lc-card__headings">
4896          <div class="lc-card__title ">Budynek 3 / Lokal M12 <span class="ms-3 lc-badge sprzedany">sprzedany</span></div>
4897        </div>
4898      </header>
4899
4900              <div class="lc-divider"></div>
4901        <div class="lc-note py-2">Szczegóły oferty nie są dostępne dla sprzedanego lokalu.</div>
4902          </article>
4903	  </section>
4904</div>	
4905</div>
4906	
4907
4908<style>
4909  /* ===== Top: aktualne ceny (i te same kafelki dla historii) ===== */
4910  .ph-topgrid{
4911    display:grid; gap:.5rem;
4912    grid-template-columns: repeat(2, 1fr);        /* xs */
4913  }
4914  @media (min-width:576px){ .ph-topgrid{ grid-template-columns: repeat(2, 1fr); } } /* sm */
4915  @media (min-width:768px){ .ph-topgrid{ grid-template-columns: repeat(2, 1fr); } } /* md+ */
4916  .ph-card{
4917    border:1px solid rgba(0,0,0,.08);
4918    border-radius:.75rem;
4919    padding:.75rem .9rem;
4920    background:#fff;
4921  }
4922  .ph-label{ font-size:.8rem; color:#6c757d; margin-bottom:.15rem; }
4923  .ph-value{ font-weight:600; }
4924
4925  /* ===== Separator z datą ===== */
4926  .ph-date-sep{
4927    display:flex; align-items:center; gap:.75rem;
4928    margin:.85rem 0 1rem;
4929  }
4930  .ph-date-sep::before,
4931  .ph-date-sep::after{
4932    content:""; flex:1 1 auto; border-top:1px solid #e5e7eb;
4933  }
4934  .ph-date-chip{
4935    white-space:nowrap; font-weight:600; color:#495057;
4936    font-size:.95rem; padding:.125rem .5rem; border-radius:.5rem; background:#f8f9fa;
4937  }
4938
4939  /* ===== Karty historii (obwódka sekcji wpisu) ===== */
4940  .ph-item{ border:1px solid rgba(0,0,0,.08); border-radius:.75rem; background:#fff; padding:.75rem .9rem; }
4941  .ph-item + .ph-item{ margin-top:.75rem; }
4942
4943  @media (max-width:575.98px){
4944    #priceHistoryModal .modal-title{ font-size:1.05rem; }
4945    .ph-value{ font-size:1.05rem; }
4946  }
4947</style>
4948
4949<div class="modal fade" id="priceHistoryModal" tabindex="-1" aria-labelledby="priceHistoryLabel" aria-hidden="true">
4950  <div class="modal-dialog modal-lg modal-dialog-scrollable">
4951    <div class="modal-content">
4952      <div class="modal-header">
4953        <h5 class="modal-title m-0" id="priceHistoryLabel">Historia cen</h5>
4954        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Zamknij"></button>
4955      </div>
4956
4957      <div class="modal-body">
4958
4959        <div id="ph-current">
4960          <div class="ph-topgrid">
4961            <div class="ph-card"><div class="ph-label">Cena lokalu (PLN)</div><div class="ph-value" id="ph-cena">—</div></div>
4962            <div class="ph-card"><div class="ph-label">Cena / m² (PLN)</div><div class="ph-value" id="ph-cena-m2">—</div></div>
4963          </div>
4964        </div>
4965
4966
4967        <div class="ph-date-sep">
4968          <span id="ph-date-chip" class="ph-date-chip">Obowiązuje od —</span>
4969        </div>
4970
4971
4972        <div id="ph-history" class="d-none">
4973          <div id="ph-list"></div>
4974        </div>
4975      </div>
4976
4977      <div class="modal-footer">
4978        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Zamknij</button>
4979      </div>
4980    </div>
4981  </div>
4982</div>
4983	
4984<!--dodatkowo-->
4985<style>
4986	.prospekt {
4987		border: double 5px #dfdfdf;
4988		background: #f2f4f7;
4989		padding: 30px;
4990		display: inline-block;
4991	}	
4992</style>
4993<div class="container align-items-center text-center mt-4">
4994    <div class="prospekt">
4995        <p class="op-1 m-0 text-center">
4996            Pobierz prospekt informacyjny inwestycji
4997            <a href="https://tercet-sztum.pl/media/site/1ea2ee0fca-1782233930/pi_kw-tercet_2026.06.15-krp.pdf" 
4998               class="button-3 ms-0 ms-lg-4 mt-3 mt-lg-0" 
4999               target="_blank">
5000               Pobierz prospekt
5001            </a>
5002        </p>
5003    </div>
5004</div>
5005	
5006	
5007<style>
5008		.lista-body .wolny {color:#73bc0c;}
5009		.lista-body .rezerwacja {color:#D9710A;}
5010		.lista-body .sprzedany {color:#A60F0F;}
5011		
5012		.tabela_dom.active {background-color: #fff;}
5013		.tabela_dom:hover {cursor: pointer;}
5014</style>
5015	
5016
5017<style>
5018
5019	.domy-wartosc-2.numer {font-size: 60px; color: #B3B3B3; display: block; height: 80px;}
5020	.domy-wartosc-2.black {color: #000;};
5021	
5022</style>
5023	
5024<style>
5025	.table-domy .wolny {color:#73bc0c;}
5026    .table-domy .rezerwacja {color:#D9710A;}
5027    .table-domy .sprzedany {color:#A60F0F;}
5028	
5029	.table-domy a {
5030		padding: 5px;
5031		border: solid 1px #000;
5032		color: #000;
5033		background: transparent;
5034		text-decoration: none;
5035		display: inline-block;
5036		font-size: 11px;
5037		transition: all 0.5s;
5038		margin: 2px;
5039	}
5040	.table-domy tr td {
5041		box-shadow: none !important;
5042	}
5043</style>
5044
5045<style>
5046table {
5047  width: 100% !important;
5048}	
5049</style>
5050	
5051
5052
5053<style>
5054	.domy-wartosc-2.numer {font-size: 60px; color: #B3B3B3; display: block; height: 80px;}
5055	.domy-wartosc-2.black {color: #000;};
5056	
5057</style>
5058
5059<div class="container">
5060	
5061	<div class="row">
5062        <div class="col-12 py-5 text-center">
5063            <h4 class="ngl-1 mt-5">Kroki zakupu</h4>
5064            <p class="op-1">Twojego wymarzonego mieszkania</p>
5065        </div>
5066	</div>
5067	
5068    <div class="row w-100 pt-5">
5069		<div class="col-12 col-md-6 col-lg-2 text-center pb-5">
5070            <div class="d-flex align-items-center justify-content-center">
5071				<div class="d-block domy-wartosc-2 numer">
5072                    1.
5073                </div>
5074				<div class="d-block">
5075					<img src="assets/img/krok-1.svg" height="70px" class="mb-3">
5076					<div class="d-block domy-wartosc-2 black">
5077						Rozmowa<br>telefoniczna
5078					</div>
5079				</div>
5080                
5081            </div>
5082        </div>
5083		<div class="col-12 col-md-6 col-lg-2 text-center pb-5">
5084            <div class="d-flex align-items-center justify-content-center">
5085				<div class="d-block domy-wartosc-2 numer">
5086                    2.
5087                </div>
5088				<div class="d-block">
5089					<img src="assets/img/krok-2.svg" height="70px" class="mb-3">
5090					<div class="d-block domy-wartosc-2 black">
5091						Spotkanie<br>na inwestycji
5092					</div>
5093				</div>
5094            </div>
5095        </div>
5096		<div class="col-12 col-md-6 col-lg-2 text-center pb-5">
5097            <div class="d-flex align-items-center justify-content-center">
5098				<div class="d-block domy-wartosc-2 numer">
5099                    3.
5100                </div>
5101				<div class="d-block">
5102					<img src="assets/img/krok-3.svg" height="70px" class="mb-3">
5103					<div class="d-block domy-wartosc-2 black">
5104						Umowa<br>rezerwacyjna
5105					</div>
5106				</div>
5107            </div>
5108        </div>
5109		<div class="col-12 col-md-6 col-lg-2 text-center pb-5">
5110            <div class="d-flex align-items-center justify-content-center">
5111				<div class="d-block domy-wartosc-2 numer">
5112                    4.
5113                </div>
5114				<div class="d-block">
5115					<img src="assets/img/krok-4.svg" height="70px" class="mb-3">
5116					<div class="d-block domy-wartosc-2 black">
5117						Umowa<br>deweloperska
5118					</div>
5119				</div>
5120            </div>
5121        </div>
5122		<div class="col-12 col-md-6 col-lg-2 text-center pb-5">
5123            <div class="d-flex align-items-center justify-content-center">
5124				<div class="d-block domy-wartosc-2 numer">
5125                    5.
5126                </div>
5127				<div class="d-block">
5128					<img src="assets/img/krok-5.svg" height="70px" class="mb-3">
5129					<div class="d-block domy-wartosc-2 black">
5130						Przekazanie<br>kluczy
5131					</div>
5132				</div>
5133            </div>
5134        </div>
5135		<div class="col-12 col-md-6 col-lg-2 text-center pb-5">
5136            <div class="d-flex align-items-center justify-content-center">
5137				<div class="d-block domy-wartosc-2 numer">
5138                    6.
5139                </div>
5140				<div class="d-block">
5141					<img src="assets/img/krok-6.svg" height="70px" class="mb-3">
5142					<div class="d-block domy-wartosc-2 black">
5143						Umowa<br>przeniesienia własności
5144					</div>
5145				</div>
5146            </div>
5147        </div>
5148    </div>
5149
5150</div>
5151	
5152	
5153
5154	
5155<section id="deweloper">
5156<div class="container-fluid">
5157	<div class="row d-flex align-items-center">
5158		<div class="order-1 order-lg-0 col-12 col-lg-5 offset-lg-1 col-xl-4">
5159				<div class="text-center text-lg-start">
5160				<h3 class="ngl-1 mb-5">Przestrzenie tworzone z myślą o przyszłości</h3>
5161				<p class="op-1">Realizujemy inwestycje, które łączą nowoczesną architekturę z funkcjonalnością codziennego życia. Stawiamy na przemyślane rozwiązania projektowe, estetykę opartą na prostocie oraz jakość widoczną w każdym elemencie.<br />
5162<br />
5163W centrum naszych działań zawsze znajduje się człowiek - jego potrzeba komfortu, bezpieczeństwa i dobrze zaprojektowanej przestrzeni. Dbamy o detale, współpracujemy ze sprawdzonymi partnerami i wybieramy materiały, które zapewniają trwałość na lata.<br />
5164<br />
5165Tworzymy miejsca, które nie tylko dobrze wyglądają, ale przede wszystkim dobrze się sprawdzają - nowoczesne, spójne i zaprojektowane z myślą o realnym stylu życia mieszkańców.</p>
5166				</div>
5167		</div>
5168		<div class="order-0 order-lg-1 col-12 col-lg-6 col-xl-6">
5169			<img src="assets/img/deweloper_tercet.jpg" class="img-fluid">
5170		</div>
5171		
5172		
5173	</div>	
5174</div>	
5175</section>
5176
5177	
5178<section id="kontakt" class="bg-gray mt-5">
5179	<div class="container py-5">
5180		<div class="ngl text-center m-ngl-top justify-content-center">
5181				<div class="ngl-1 my-3"><strong class="text-uppercase">Porozmawiajmy</strong></div>
5182				<a href="tel:509 850 577" class="phone-button button-3 m-3">tel. 509 850 577</a>
5183				<a href="mailto:[email protected]" class="phone-button button-3-stroke m-3">[email protected]</a>
5184				<br>
5185				<div class="hrline"></div>
5186				<div class="col-12 col-xl-8 offset-xl-2">
5187				<h2 class="my-3">Jeśli jesteś zainteresowany naszą<br>inwestycją lub masz do nas pytania?</h2>
5188				<p> Pozostajemy do Twojej dyspozycji. 
5189	Zadzwoń do nas lub wyslij email. Chętnie porozmawiamy o tym, jak możemy spełnić Twoje oczekiwania.</p>
5190				</div>
5191		</div>
5192	<div class="row">
5193		<div class="col-12 col-lg-8 offset-lg-2">
5194			<form id="formularz5" autocomplete="off">
5195                <div class="row mt-5">
5196
5197                    <div class="col-12">
5198                        <input type="text" name="nazwisko5" placeholder="Imię i nazwisko">
5199                    </div>
5200                    <div class="col-12 col-lg-6">
5201                        <input name="telefon5" placeholder="Telefon kontaktowy">
5202                    </div>
5203                    <div class="col-12 col-lg-6">
5204                        <input name="email5" placeholder="Adres email">
5205                    </div>
5206                    <div class="col-12">
5207                        <textarea name="message5" placeholder="W czym możemy Ci pomóc?" rows="3"></textarea>
5208                    </div>
5209                    <div class="col-12 col-lg-10">
5210                        <div class="check-con d-flex align-items-center">
5211                            <input name="zgoda5[]" id="demo_opt_stopka" type="checkbox" class="css-checkbox" value="Zgoda na przetwarzanie danych osobowych">
5212                            <label for="demo_opt_stopka">Akceptuję Politykę Prywatności.<br>Wyrażam zgodę na przetwarzanie danych osobowych. </label>
5213                        </div>
5214                    </div>
5215                    <div class="col-12 col-lg-2 text-end">
5216                        <button id="formularz-button" class="button-4" onclick="submitstopka()">Wyślij</button>
5217                    </div>
5218
5219                    <div id="form-message5" class="col-12 mt-3">
5220                    </div>
5221
5222                </div>
5223            </form>
5224		</div>	
5225	</div>
5226	<div class="container my-5">
5227	<div class="text-center border p-3">
5228	Powyższa oferta ma charakter informacyjny i nie stanowi oferty handlowej w rozumieniu art. 66 §1 Kodeksu Cywilnego.<br>Prezentowane wizualizacje mają charakter podglądowy.</div>
5229	</div>
5230	</div>
5231	
5232</section>
5233	
5234<div class="container-fluid pb-5 footer bg-07 m-0 p-0">
5235	<div class="container py-5  text-center">
5236		<a href="#" rel="nofollow" target="_blank"><img src="assets/img/logo.svg" width="150" class="mt-5"></a>
5237		
5238		<ul class="navbar-nav text-center justify-content-center mt-5 list-group-horizontal-lg">
5239            <li class="nav-item mx-2">
5240			  <a class="nav-link text-dark" href="#oinwestycji">O inwestycji</a>
5241			</li>
5242			<li class="nav-item mx-2">
5243			  <a class="nav-link text-dark" href="#lokalizacja">Lokalizacja</a>
5244			</li>
5245			<li class="nav-item mx-2">
5246			  <a class="nav-link text-dark" href="#galeria">Galeria</a>
5247			</li>
5248			<li class="nav-item mx-2">
5249			  <a class="nav-link text-dark" href="#rezerwacja">Rezerwacja</a>
5250			</li>
5251			<li class="nav-item mx-2">
5252			  <a class="nav-link text-dark" href="#kontakt">Kontakt</a>
5253			</li>
5254			<li class="nav-item mx-2">
5255            	<a class="nav-link text-dark" href="https://tercet-sztum.pl/polityka-prywatnosci">Polityka Prywatności</a>
5256         	</li>
5257        </ul>
5258		
5259		<div class="mt-5"><a href="https://www.facebook.com/profile.php?id=61590547390258" class="nav-link text-dark"  target="_blank"><img src="assets/img/fbicon.svg" height="50" class="me-2 text-dark">Tercet na FB</a></div>
5260		
5261		<div class="hrline my-5"></div>
5262		
5263		<div class="text-dark danespolki">KW Tercet Sp. z o. o.<br>ul. Polanki 76/1, 80-302 Gdańsk<br>NIP 5842882405<br><br>© 2025 KW Tercet Sp. z o. o.</div>
5264	</div>
5265	<div class="row p-0 m-0">
5266		<div class="col-12 col-lg-8 offset-lg-2 text-center">
5267			<a href="http://emest.pl" class="emest mt-5 d-block text-dark" target="_blank">emest.pl</a>
5268		</div>
5269	</div>	
5270</div>
5271
5272	
5273	
5274<script src="https://code.jquery.com/jquery-3.3.0.min.js"></script>
vendor: 1 bytes, line 5274
5274
5275<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
5275
5276	
5277<script src="assets/js/bootstrap.js"></script>
vendor: 1 bytes, line 5277
5277
5278<script src="https://cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.js"></script>
5278
5279	
5280<script src="assets/js/owl.carousel.min.js"></script>
5280
5281	
5282	
5283<script>
5284(function(){
5285
5286  const HISTORY_URL = "https:\/\/tercet-sztum.pl\/assets\/eksport\/jawne_ceny.json";
5287
5288  let cacheMap = null;
5289
5290  const $ = id => document.getElementById(id);
5291
5292  function toNum(x){
5293    if(x === null || x === undefined || x === '') return null;
5294
5295    const n = Number(
5296      String(x)
5297        .replace(/[^\d,.\-]/g,'')
5298        .replace(/\s/g,'')
5299        .replace(',','.')
5300    );
5301
5302    return isNaN(n) ? null : n;
5303  }
5304
5305  function pln(v){
5306    if(v === null || v === undefined) return '—';
5307
5308    return Number(v).toLocaleString('pl-PL',{
5309      minimumFractionDigits:2,
5310      maximumFractionDigits:2
5311    });
5312  }
5313
5314  function txt(v){
5315    if(v === null || v === undefined || v === '') return '—';
5316    return String(v);
5317  }
5318
5319  function sortAsc(hist){
5320    return hist.slice().sort((a,b)=>
5321      (a.data || '').localeCompare(b.data || '')
5322    );
5323  }
5324
5325  function cfgFromCurrent(rec){
5326    return {
5327      cena: toNum(rec.cena_aktualna),
5328      cena_m2: toNum(rec.cena_m2)
5329    };
5330  }
5331
5332  function cfgFromHistRow(row){
5333    return {
5334      cena: toNum(row.cena),
5335      cena_m2: toNum(row.cena_m2)
5336    };
5337  }
5338
5339  function cfgEqual(a,b){
5340    return (
5341      a.cena === b.cena &&
5342      a.cena_m2 === b.cena_m2
5343    );
5344  }
5345
5346  function currentStartDate(hist,currentCfg){
5347
5348    if(!hist.length) return null;
5349
5350    const asc = sortAsc(hist);
5351
5352    let i = asc.length - 1;
5353
5354    if(!cfgEqual(cfgFromHistRow(asc[i]),currentCfg)){
5355      return null;
5356    }
5357
5358    while(
5359      i > 0 &&
5360      cfgEqual(
5361        cfgFromHistRow(asc[i-1]),
5362        currentCfg
5363      )
5364    ){
5365      i--;
5366    }
5367
5368    return asc[i].data || null;
5369  }
5370
5371  function hasRealChanges(hist){
5372
5373    if(hist.length < 2){
5374      return false;
5375    }
5376
5377    const uniq = new Set();
5378
5379    hist.forEach(row=>{
5380      uniq.add(
5381        JSON.stringify([
5382          row.cena,
5383          row.cena_m2
5384        ])
5385      );
5386    });
5387
5388    return uniq.size > 1;
5389  }
5390
5391  function fillCurrent(rec){
5392
5393    $('ph-cena').textContent =
5394      pln(toNum(rec.cena_aktualna));
5395
5396    $('ph-cena-m2').textContent =
5397      pln(toNum(rec.cena_m2));
5398
5399    const hist = Array.isArray(rec.historia)
5400      ? rec.historia
5401      : [];
5402
5403    const currentCfg = cfgFromCurrent(rec);
5404
5405    const start =
5406      currentStartDate(hist,currentCfg)
5407      || rec.cena_obowiazuje_od
5408      || rec.oferta_od
5409      || null;
5410
5411    $('ph-date-chip').textContent =
5412      'Obowiązuje od ' + txt(start);
5413  }
5414
5415  function clearHistory(){
5416    $('ph-list').innerHTML = '';
5417  }
5418
5419  function buildEntryCard(date,cfg){
5420
5421    const wrap = document.createElement('div');
5422    wrap.className = 'ph-item';
5423
5424    const sep = document.createElement('div');
5425    sep.className = 'ph-date-sep';
5426
5427    const chip = document.createElement('span');
5428    chip.className = 'ph-date-chip';
5429    chip.textContent = date;
5430
5431    sep.appendChild(chip);
5432
5433    const grid = document.createElement('div');
5434    grid.className = 'ph-topgrid';
5435
5436    grid.innerHTML = `
5437      <div class="ph-card">
5438        <div class="ph-label">Cena lokalu (PLN)</div>
5439        <div class="ph-value">${pln(cfg.cena)}</div>
5440      </div>
5441
5442      <div class="ph-card">
5443        <div class="ph-label">Cena / m² (PLN)</div>
5444        <div class="ph-value">${pln(cfg.cena_m2)}</div>
5445      </div>
5446    `;
5447
5448    wrap.appendChild(sep);
5449    wrap.appendChild(grid);
5450
5451    return wrap;
5452  }
5453
5454  function fillHistory(rec){
5455
5456    clearHistory();
5457
5458    const section = $('ph-history');
5459
5460    const hist = Array.isArray(rec.historia)
5461      ? rec.historia
5462      : [];
5463
5464    if(!hasRealChanges(hist)){
5465      section.classList.add('d-none');
5466      return;
5467    }
5468
5469    section.classList.remove('d-none');
5470
5471    const currentCfg = cfgFromCurrent(rec);
5472
5473    const oldRows = hist.filter(row =>
5474      !cfgEqual(
5475        cfgFromHistRow(row),
5476        currentCfg
5477      )
5478    );
5479
5480    oldRows.reverse();
5481
5482    oldRows.forEach(row=>{
5483
5484      $('ph-list').appendChild(
5485        buildEntryCard(
5486          row.data,
5487          cfgFromHistRow(row)
5488        )
5489      );
5490
5491    });
5492  }
5493
5494  function setModalTitle(budynek,lokal){
5495
5496    $('priceHistoryLabel').textContent =
5497      'Historia cen — Budynek '
5498      + budynek
5499      + ' / '
5500      + lokal;
5501  }
5502
5503  function ensureData(){
5504
5505    if(cacheMap){
5506      return Promise.resolve(cacheMap);
5507    }
5508
5509    return fetch(HISTORY_URL,{cache:'no-store'})
5510      .then(r=>r.json())
5511      .then(json=>{
5512
5513        const lokale =
5514          json?.dokument?.lokale || [];
5515
5516        const map = new Map();
5517
5518        lokale.forEach(item=>{
5519
5520          const key =
5521            String(item.budynek)
5522            + '|'
5523            + String(item.lokal);
5524
5525          map.set(key,item);
5526
5527        });
5528
5529        cacheMap = map;
5530
5531        return map;
5532      });
5533  }
5534
5535  function showFor(budynek,lokal){
5536
5537    ensureData().then(map=>{
5538
5539      setModalTitle(budynek,lokal);
5540
5541      const key =
5542        String(budynek)
5543        + '|'
5544        + String(lokal);
5545
5546      const rec = map.get(key);
5547
5548      if(rec){
5549
5550        fillCurrent(rec);
5551        fillHistory(rec);
5552
5553      }else{
5554
5555        fillCurrent({});
5556        $('ph-history').classList.add('d-none');
5557
5558      }
5559
5560      new bootstrap.Modal(
5561        document.getElementById('priceHistoryModal')
5562      ).show();
5563
5564    });
5565  }
5566
5567  document.addEventListener('click',function(e){
5568
5569    const btn = e.target.closest('.js-history');
5570
5571    if(!btn){
5572      return;
5573    }
5574
5575    showFor(
5576      btn.dataset.budynek,
5577      btn.dataset.lokal
5578    );
5579
5580  });
5581
5582})();
5583</script>
5583
5584	
5585<script>
5586$('.owl-carousel').owlCarousel({
5587    loop:true,
5588    margin:30,
5589    responsiveClass:true,
5590    responsive:{
5591        0:{
5592            items:1,
5593            nav:true
5594        },
5595        600:{
5596            items:2,
5597            nav:false
5598        },
5599        1000:{
5600            items:4,
5601            loop:false
5602        }
5603    }
5604})
5605</script>
5605
5606	
5607<script>
5608$(".burger").addClass("unToggled");
5609$(".burger").click(function () {
5610	$(this).toggleClass("toggled");
5611	$(this).toggleClass("unToggled");
5612	$('#mobilemenu').toggleClass('open');
5613});
5614</script>
5614
5615
5616<script>
5617$('.nav-link').click(function() {
5618	$('#mobilemenu').removeClass("open");
5619	$('.burger').removeClass("toggled");
5620	$(".burger").addClass("unToggled");
5621});
5622</script>
5622
5623	
5624<script>
5625$('a[href*="#"]:not([href="#"])').click(function() {
5626	//if( $(this).attr("href")=="#inwestycja") return;//This is the exception
5627    var offset = -70; // <-- change the value here
5628    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
5629        var target = $(this.hash);
5630        target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
5631        if (target.length) {
5632            $('html, body').animate({
5633                scrollTop: target.offset().top + offset
5634            }, 0);
5635            return false;
5636        }
5637    }
5638});
5639</script>
5639
5640	
5641<script>
5642$(document).ready(function () {
5643    $('.lista-karta').click(function (event) {
5644        event.preventDefault();
5645	var href=$(this).attr('href');
5646        var data = '';
5647        $.ajax({
5648            url: "/assets/js/capi.php?register=ViewContent",
5649            type: "GET",
5650            data: data,
5651            processData: false,
5652            cache: false,
5653            //  async: false,
5654            dataType: "html",
5655            success: function (html) {
5656		window.open(this.href=href);
5657		//location.href=href;
5658            }
5659        });
5660    })
5661    $('.phone-button').click(function (event) {
5662        event.preventDefault();
5663	var href=$(this).attr('href');
5664        var data = '';
5665        $.ajax({
5666            url: "/assets/js/capi.php?register=Contact",
5667            type: "POST",
5668            data: data,
5669            processData: false,
5670            cache: false,
5671            //  async: false,
5672            dataType: "html",
5673            success: function (html) {
5674		location.href=href;
5675            }
5676        });
5677    })
5678
5679})
5680</script>
5680
5681	
5682<script>
5683	function submitstopka(){	
5684		$.ajax({
5685		url : 'assets/php/form_stopka.php', 
5686		type: 'post', 
5687		data: $('#formularz5').serialize(),
5688	})
5689	.done(function(html) {
5690		$( "#form-message5" ).html( html );
5691
5692	});
5693	event.preventDefault();
5694	};
5695</script>
5695
5696	
5697<script>
5698	$('.dom').click(function(){
5699		$('.dom').removeClass('active');
5700		$(this).addClass('active');
5701	});	
5702</script>
5702
5703
5704<script>
5705$(document).ready(function() {
5706  function setHeight() {
5707    windowHeight = $(window).innerHeight();
5708    $('.fullheight').css('min-height', windowHeight);
5709  };
5710  setHeight();
5711  
5712  $(window).resize(function() {
5713    setHeight();
5714  });
5715});
5716</script>
5716
5717	
5718<script>
5719	$(window).scroll(function(){ 
5720
5721	var a = 112;
5722	var pos = $(window).scrollTop();
5723	if(pos > a) {
5724		$(".navbar-con").addClass('scrolled');
5725	}
5726	else {
5727		$(".navbar-con").removeClass('scrolled');
5728	}
5729	});
5730</script>
5730
5731
5732
5733</body>
5734</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.