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 '&': '&', 2266 '<': '<', 2267 '>': '>', 2268 '"': '"', 2269 "'": ''' 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.