{"id":4409,"date":"2025-12-18T09:55:55","date_gmt":"2025-12-18T09:55:55","guid":{"rendered":"https:\/\/obrazy.adozet.com\/www\/?page_id=4409"},"modified":"2026-03-26T13:01:51","modified_gmt":"2026-03-26T13:01:51","slug":"strona-glowna","status":"publish","type":"page","link":"https:\/\/obrazy.adozet.com\/www\/","title":{"rendered":"Strona G\u0142\u00f3wna"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4409\" class=\"elementor elementor-4409\">\n\t\t\t\t<div class=\"elementor-element elementor-element-79087c3 e-con-full e-flex e-con e-parent\" data-id=\"79087c3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2878230 elementor-widget elementor-widget-html\" data-id=\"2878230\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"custom-hero\">\r\n  <!-- Hero Image LCP -->\r\n  <img fetchpriority=\"high\" \r\n    src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/11\/SALON1UPSCALE.png\"\r\n      alt=\"Poznaj Nasze Rozwi\u0105zania\"\r\n      class=\"hero-image\"\r\n      fetchpriority=\"high\"\r\n      decoding=\"async\"\r\n      width=\"1536\"\r\n      height=\"1024\"\r\n      style=\"position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; z-index:0;\"\r\n    >\r\n\r\n  <div class=\"hero-overlay\"><\/div>\r\n\r\n  <div class=\"hero-content\">\r\n    <!-- Subheading \/ TBAR (statyczny) -->\r\n    <div class=\"hero-subtitle fade-in delay-subtitle\">\r\n      <span class=\"tbar tbar-left\"><\/span>\r\n      <span>Twoja przestrze\u0144. Tw\u00f3j styl.<\/span>\r\n    <\/div>\r\n\r\n    <!-- Heading -->\r\n    <h1 class=\"hero-title animate-left delay-title\">\u015aciany, kt\u00f3re opowiadaj\u0105 histori\u0119<\/h1>\r\n\r\n    <!-- Button + Social -->\r\n    <div class=\"hero-btn-row\">\r\n      <a href=\"#kontakt\" class=\"hero-btn animate-left delay-button\">Zwizualizuj sw\u00f3j mural<\/a>\r\n      <a href=\"https:\/\/facebook.com\" target=\"_blank\" class=\"hero-social animate-left delay-social\">\r\n        <i class=\"fab fa-facebook-f\"><\/i>\r\n      <\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n\r\n\/* GLOBAL BOX SIZING *\/\r\n.custom-hero, .custom-hero * {\r\n  box-sizing: border-box;\r\n}\r\n\r\n.custom-hero {\r\n  position: relative;\r\n  width: 100vw;\r\n  height: 100vh;\r\n  min-height: 0;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: flex-start;\r\n  overflow: hidden;\r\n  margin: 0;\r\n  padding: 0;\r\n  box-sizing: border-box;\r\n}\r\n\r\n\/* overlay *\/\r\n.hero-overlay {\r\n  position: absolute;\r\n  top: 0; left: 0; right: 0; bottom: 0;\r\n  background: rgba(0, 0, 0, 0.55);\r\n  z-index: 1;\r\n}\r\n\r\n\/* Po\u0142o\u017cenie obrazu g\u00f3ra\/d\u00f3\u0142 *\/\r\n.hero-image {\r\n  object-position: 50% 30%; \r\n}\r\n\r\n\/* content *\/\r\n.hero-content {\r\n  position: relative;\r\n  z-index: 2;\r\n  color: #fff;\r\n  text-align: left;\r\n  max-width: 650px;\r\n  margin-left: 10%;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  height: 100%;\r\n}\r\n\r\n\/* Subheading *\/\r\n.hero-subtitle {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 10px;\r\n  margin-bottom: 0px;\r\n  font-size: 1rem;\r\n  letter-spacing: 1px;\r\n}\r\n\r\n.hero-subtitle .tbar {\r\n  display: inline-block;\r\n  width: 40px;\r\n  height: 2px;\r\n  background-color: #c9a86a;\r\n}\r\n\r\n.hero-subtitle .tbar-left { margin-right: 5px; }\r\n\r\n\/* fade-in dla subtytu\u0142u *\/\r\n@keyframes fadeIn {\r\n  0% { opacity: 0; }\r\n  100% { opacity: 1; }\r\n}\r\n\r\n.fade-in {\r\n  opacity: 0;\r\n  animation-name: fadeIn;\r\n  animation-fill-mode: forwards;\r\n  animation-duration: 1s;\r\n  animation-timing-function: ease-out;\r\n}\r\n\r\n\/* Heading *\/\r\n.hero-title {\r\n  font-size: 5rem;\r\n  line-height: 1.125;\r\n  color: #fff;\r\n  letter-spacing: -0.03em;\r\n  margin-bottom: 0px;\r\n  opacity: 0;\r\n  transform: translateX(-120%);\r\n}\r\n\r\n\/* Button + Social *\/\r\n.hero-btn-row {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 20px;\r\n  margin-top: 20px;\r\n}\r\n\r\n.hero-btn, .hero-social {\r\n  opacity: 0;\r\n  transform: translateX(-120%);\r\n}\r\n\r\n\/* Animacja slide-left *\/\r\n@keyframes slideFromLeftVariable {\r\n  0% { transform: translateX(var(--start)); opacity: 0; }\r\n  100% { transform: translateX(0); opacity: 1; }\r\n}\r\n\r\n.animate-left {\r\n  animation-name: slideFromLeftVariable;\r\n  animation-fill-mode: forwards;\r\n  animation-timing-function: linear;\r\n  animation-duration: 1s;\r\n}\r\n\r\n\/* Op\u00f3\u017anienia *\/\r\n.delay-subtitle { animation-delay: 0s; }\r\n.delay-title { --start: -100%; animation-delay: 1.5s; }\r\n.delay-button { --start: -200%; animation-delay: 3.5s; }\r\n.delay-social { --start: -150%; animation-delay: 2.5s; }\r\n\r\n\/* Style button i social *\/\r\n.hero-btn {\r\n  display: inline-block;\r\n  padding: 16px 36px;\r\n  background-color: #c9a86a;\r\n  color: #fff;\r\n  text-decoration: none;\r\n  font-weight: 600;\r\n  text-transform: uppercase;\r\n  border: 2px solid #c9a86a;\r\n  border-radius: 4px;\r\n}\r\n\r\n.hero-btn:hover {\r\n  background-color: #b39850;\r\n  border: 2px solid #c9a86a;\r\n  color: #fff;\r\n}\r\n\r\n.hero-social {\r\n  display: inline-flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  width: 65px;\r\n  height: 65px;\r\n  background-color: #fff;\r\n  color: #1b1b1b;\r\n  border-radius: 8px;\r\n  font-size: 1.2rem;\r\n  text-decoration: none;\r\n}\r\n\r\n.hero-social:hover {\r\n  background-color: #000;\r\n  color: #fff;\r\n}\r\n\r\n\/* RESPONSYWNO\u015a\u0106 *\/\r\n@media (max-width: 992px) {\r\n  .custom-hero { height: 70vh; }\r\n  .hero-content { margin-left: 8%; max-width: 90%; }\r\n  .hero-title { font-size: 3rem; }\r\n}\r\n\r\n@media (max-width: 600px) {\r\n  .custom-hero {\r\n    height: auto;\r\n    min-height: calc(100vh - 80px);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    overflow: hidden;\r\n  }\r\n\r\n  .hero-content {\r\n    padding-top: 0;\r\n    max-width: 95%;\r\n    margin: 0 auto;\r\n    text-align: center;\r\n  }\r\n\r\n  .hero-image {\r\n    position: absolute !important;\r\n    top: 50% !important;\r\n    left: 50% !important;\r\n    width: 100vw !important;\r\n    height: auto !important;\r\n    min-height: calc(100vh - 80px);\r\n    transform: translate(-50%, -50%);\r\n    object-fit: cover;\r\n    object-position: 50% 40%;\r\n    z-index: 0;\r\n  }\r\n\r\n  .hero-title { font-size: 2rem; }\r\n  .hero-btn { padding: 14px 28px; font-size: 0.9rem; }\r\n  .hero-social { width: 44px; height: 44px; font-size: 1rem; }\r\n}\r\n\r\n\/* mobile \u2013 przesuni\u0119cie w prawo i lekko w g\u00f3r\u0119 *\/\r\n@media (max-width: 480px) {\r\n  .hero-image {\r\n    object-position: 51% 40%;\r\n  }\r\n}\r\n\r\n<\/style>\r\n\r\n<script src=\"https:\/\/kit.fontawesome.com\/a076d05399.js\" crossorigin=\"anonymous\">\r\n    \r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6ae863a e-con-full e-flex e-con e-parent\" data-id=\"6ae863a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-35ccbbe elementor-widget elementor-widget-html\" data-id=\"35ccbbe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- CTA pod hero -->\r\n<div class=\"cta-wrapper\">\r\n  <div class=\"cta-content\">\r\n    <div class=\"cta-text\">\r\n      Zam\u00f3w wizualizacj\u0119 teraz\r\n    <\/div>\r\n    <div class=\"cta-subtext\">\r\n      Szybka realizacja i projekt dopasowany do wn\u0119trza\r\n    <\/div>\r\n    <a href=\"#kontakt\" class=\"cta-button\">Zam\u00f3w teraz<\/a>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n\/* -----------------------------\r\n   CTA POD HERO\r\n-------------------------------*\/\r\n.cta-wrapper {\r\n  position: relative;\r\n  text-align: center;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  padding: 80px 20px;\r\n  \/* Gradient t\u0142a wychodz\u0105cy z hero w d\u00f3\u0142 *\/\r\n  background: linear-gradient(to bottom, rgba(43,43,43,0.85) 0%, rgba(43,43,43,0.65) 50%, rgba(43,43,43,0.55) 100%);\r\n}\r\n\r\n.cta-content {\r\n  max-width: 800px;\r\n}\r\n\r\n.cta-text {\r\n  color: #ffffff;\r\n  font-family: 'Playfair Display', serif;\r\n  font-size: 36px;\r\n  font-weight: 700;\r\n  line-height: 1.2;\r\n  text-shadow: 1px 1px 5px rgba(0,0,0,0.6);\r\n  margin-bottom: 10px;\r\n}\r\n\r\n.cta-subtext {\r\n  color: #ffffff;\r\n  font-family: 'Playfair Display', serif;\r\n  font-size: 18px;\r\n  line-height: 1.4;\r\n  text-shadow: 1px 1px 4px rgba(0,0,0,0.5);\r\n  margin-bottom: 25px;\r\n}\r\n\r\n\/* Przycisk CTA prowadz\u0105cy do kotwicy #kontakt *\/\r\n.cta-button {\r\n  display: inline-block;\r\n  background-color: #FF6B3C;\r\n  color: #fff;\r\n  font-family: 'Playfair Display', serif;\r\n  font-size: 18px;\r\n  font-weight: 700;\r\n  padding: 14px 36px;\r\n  border-radius: 8px;\r\n  text-decoration: none;\r\n  transition: all 0.3s ease;\r\n  box-shadow: 0 4px 12px rgba(0,0,0,0.3);\r\n}\r\n\r\n.cta-button:hover {\r\n  background-color: #FF5020;\r\n  transform: translateY(-2px);\r\n  box-shadow: 0 6px 15px rgba(0,0,0,0.35);\r\n}\r\n\r\n\/* TABLET *\/\r\n@media (max-width: 1024px) {\r\n  .cta-text { font-size: 30px; }\r\n  .cta-subtext { font-size: 16px; }\r\n  .cta-button { font-size: 16px; padding: 12px 30px; }\r\n}\r\n\r\n\/* MOBILE *\/\r\n@media (max-width: 768px) {\r\n  .cta-text { font-size: 26px; }\r\n  .cta-subtext { font-size: 14px; }\r\n  .cta-button { font-size: 15px; padding: 10px 28px; }\r\n}\r\n\r\n\/* SMALL MOBILE *\/\r\n@media (max-width: 480px) {\r\n  .cta-text { font-size: 22px; }\r\n  .cta-subtext { font-size: 12px; }\r\n  .cta-button { font-size: 14px; padding: 8px 24px; }\r\n}\r\n<\/style>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-faa6ae4 e-con-full e-flex e-con e-parent\" data-id=\"faa6ae4\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3683fa1 elementor-widget elementor-widget-html\" data-id=\"3683fa1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"intro-hero fullwidth-hero\">\r\n  <div class=\"paint paint1\"><\/div>\r\n  <div class=\"paint paint2\"><\/div>\r\n  <div class=\"paint paint3\"><\/div>\r\n  <div class=\"paint paint4\"><\/div>\r\n  <div class=\"paint paint5\"><\/div>\r\n\r\n  <div class=\"intro-wrapper\">\r\n\r\n    <!-- LEWA STRONA \u2013 obrazek -->\r\n    <div class=\"intro-left\">\r\n      <div class=\"intro-image-wrapper fade-zoom\">\r\n        <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/11\/przyklad.png\" alt=\"wizualizacja\">\r\n        <div class=\"intro-hover-text\">Sztuka, kt\u00f3ra o\u017cywia wn\u0119trze<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- PRAWA STRONA \u2013 tekst -->\r\n    <div class=\"intro-right fade-text\">\r\n      <div class=\"intro-heading\">\r\n        Wyra\u017a swoj\u0105 przestrze\u0144 dzi\u0119ki indywidualnym projektom.\r\n      <\/div>\r\n\r\n      <p class=\"intro-small-text\">\r\n        Tworzymy unikalne dekoracje \u015bcienne na p\u0142ytach gipsowych, kt\u00f3re dopasuj\u0105 si\u0119 do Twojego stylu, wn\u0119trza\r\n        i charakteru przestrzeni. Ty wybierasz motyw \u2014 my dbamy o jako\u015b\u0107, detale i wykonanie.\r\n      <\/p>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n\/* ===== HERO SEKCJA ===== *\/\r\n.intro-hero.fullwidth-hero {\r\n  position: relative;\r\n  min-height: 80vh;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  background: #f2f0eb;\r\n  overflow: hidden;\r\n  padding: 0;\r\n  margin: 0;\r\n  width: 100%;\r\n  max-width: 100%;\r\n  box-sizing: border-box;\r\n  z-index: 1;\r\n}\r\n\r\n\/* ===== PLAMY FARBY W TLE ===== *\/\r\n.paint { position: absolute; border-radius: 50%; filter: blur(50px); pointer-events: none; z-index: 0; }\r\n.paint1 { top: -50px; left: -70px; width: 400px; height: 400px; background: radial-gradient(circle, rgba(80,120,220,0.35) 0%, rgba(80,120,220,0) 70%); }\r\n.paint2 { top: 20%; left: 70%; width: 300px; height: 300px; background: radial-gradient(circle, rgba(200,150,90,0.25) 0%, rgba(200,150,90,0) 70%); }\r\n.paint3 { top: 50%; left: 10%; width: 350px; height: 350px; background: radial-gradient(circle, rgba(220,100,180,0.3) 0%, rgba(220,100,180,0) 70%); }\r\n.paint4 { top: 65%; left: 60%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(100,200,150,0.3) 0%, rgba(100,200,150,0) 70%); }\r\n.paint5 { top: 10%; left: 40%; width: 250px; height: 250px; background: radial-gradient(circle, rgba(250,200,50,0.25) 0%, rgba(250,200,50,0) 70%); }\r\n\r\n\/* WRAPPER TRE\u015aCI \u2013 obraz + tekst *\/\r\n.intro-wrapper {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  gap: 30px;\r\n  max-width: 1200px;\r\n  width: 100%;\r\n  padding: 120px;\r\n  box-sizing: border-box;\r\n  margin: 0 auto;\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n\/* LEWA STRONA \u2013 OBRAZ *\/\r\n.intro-left { flex: 1; }\r\n.intro-image-wrapper { position: relative; display: inline-block; overflow: hidden; border-radius: 4px; }\r\n.intro-image-wrapper img {\r\n  display: block;\r\n  width: 100%;\r\n  max-width: 500px;\r\n  height: auto;\r\n  transition: transform 0.3s ease, filter 0.3s ease;\r\n  animation: forwardIllusion 120s linear infinite;\r\n  box-shadow: 0 25px 60px rgba(0,0,0,0.25);\r\n}\r\n.intro-image-wrapper:hover img { filter: brightness(0.7); transform: scale(1.04); }\r\n\r\n.intro-hover-text {\r\n  position: absolute;\r\n  top: 50%;\r\n  left: 50%;\r\n  transform: translate(-50%, -50%);\r\n  color: #fff;\r\n  font-family: 'Playfair Display', serif;\r\n  font-size: 2.5rem;\r\n  font-weight: 700;\r\n  text-align: center;\r\n  opacity: 0;\r\n  transition: opacity 0.3s ease;\r\n  text-shadow: 2px 2px 8px rgba(0,0,0,0.6);\r\n  pointer-events: none;\r\n}\r\n.intro-image-wrapper:hover .intro-hover-text { opacity: 1; }\r\n\r\n\/* PRAWA STRONA \u2013 TEKST *\/\r\n.intro-right { flex: 1; }\r\n.intro-heading {\r\n  font-family: 'Playfair Display', serif;\r\n  font-size: 2rem;\r\n  font-weight: 700;\r\n  color: #2b2b2b;\r\n  background: linear-gradient(90deg, #2b2b2b 0%, #4a4843 100%);\r\n  -webkit-background-clip: text;\r\n  -webkit-text-fill-color: transparent;\r\n  margin-bottom: 25px;\r\n  line-height: 1.3;\r\n  letter-spacing: 0.5px;\r\n  text-shadow: 1px 1px 3px rgba(0,0,0,0.2);\r\n  transition: color 0.3s ease, text-shadow 0.3s ease;\r\n}\r\n.intro-heading:hover { text-shadow: 2px 2px 6px rgba(0,0,0,0.35); }\r\n.intro-small-text { font-size: 1rem; line-height: 1.6; color: #3a3a3a; max-width: 500px; }\r\n\r\n\/* FADE + ZOOM *\/\r\n.fade-zoom { opacity: 0; transform: scale(0.95); transition: opacity 1s ease-out, transform 1s ease-out; }\r\n.fade-zoom.visible { opacity: 1; transform: scale(1); }\r\n.fade-text { opacity: 0; transform: translateY(20px); transition: opacity 1s ease-out 0.4s, transform 1s ease-out 0.4s; }\r\n.fade-text.visible { opacity: 1; transform: translateY(0); }\r\n\r\n\/* CI\u0104G\u0141E PRZYBLI\u017bANIE OBRAZU *\/\r\n@keyframes forwardIllusion { 0% { transform: scale(1); } 100% { transform: scale(1.015); } }\r\n\r\n\/* RESPONSYWNO\u015a\u0106 *\/\r\n@media (max-width: 900px) {\r\n  .intro-wrapper { flex-direction: column; text-align: center; }\r\n  .intro-small-text { margin: 0 auto; }\r\n  .intro-heading { font-size: 1.6rem; }\r\n  .intro-hover-text { font-size: 1.8rem; }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n  \/* MOBILE SAFE: hero i elementor-element statyczne *\/\r\n  .intro-hero.fullwidth-hero,\r\n  .intro-hero.fullwidth-hero .elementor-element {\r\n    width: 100% !important;\r\n    margin: 0 auto !important;\r\n    left: auto !important;\r\n    padding: 30px 15px !important;\r\n  }\r\n\r\n  .intro-wrapper { flex-direction: column; align-items: center; text-align: center; padding: 30px 15px; gap: 20px; width: 100%; box-sizing: border-box; margin: 0 auto; }\r\n  .intro-left, .intro-image-wrapper { width: 90%; max-width: 90%; margin: 0 auto; }\r\n  .intro-left img { width: 100%; max-width: 100%; height: auto; display: block; box-shadow: 0 15px 40px rgba(0,0,0,0.2); }\r\n  .intro-hover-text { font-size: 1.4rem; padding: 0 10px; text-align: center; }\r\n  .intro-right { width: 90%; max-width: 90%; margin: 0 auto; }\r\n  .intro-heading { font-size: 1.3rem; line-height: 1.3; margin-bottom: 15px; }\r\n  .intro-small-text { font-size: 0.95rem; line-height: 1.5; }\r\n  .paint1 { width: 80px; height: 80px; top: -20px; left: -20px; }\r\n  .paint2 { width: 80px; height: 80px; top: 10%; left: 75%; }\r\n  .paint3 { width: 80px; height: 80px; top: 45%; left: 5%; }\r\n  .paint4 { width: 80px; height: 80px; top: 60%; left: 50%; }\r\n  .paint5 { width: 60px; height: 60px; top: 5%; left: 35%; }\r\n  .intro-hero.fullwidth-hero { padding-bottom: 40px; }\r\n}\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n  const elements = document.querySelectorAll('.fade-zoom, .fade-text');\r\n  const heroSection = document.querySelector('.intro-hero.fullwidth-hero');\r\n\r\n  \/\/ ===== IntersectionObserver \/ fade-in =====\r\n  const observer = new IntersectionObserver((entries, observer) => {\r\n    entries.forEach(entry => {\r\n      if(entry.isIntersecting) {\r\n        entry.target.classList.add('visible');\r\n        observer.unobserve(entry.target);\r\n      }\r\n    });\r\n  }, { threshold: 0.3 });\r\n\r\n  elements.forEach(el => {\r\n    if(window.innerWidth > 480) {\r\n      observer.observe(el); \/\/ Desktop: animacja przy scrollu\r\n    } else {\r\n      el.classList.add('visible'); \/\/ Mobile: od razu widoczne\r\n    }\r\n  });\r\n\r\n  \/\/ ===== Stretch hero tylko na desktop >480px =====\r\n  function stretchHero() {\r\n    if (!heroSection) return;\r\n\r\n    if (window.innerWidth <= 480) {\r\n      \/\/ MOBILE \u2013 nie ruszamy hero ani rodzica\r\n      return;\r\n    }\r\n\r\n    const parent = heroSection.closest('.elementor-element');\r\n    if(parent){\r\n      const rect = parent.getBoundingClientRect();\r\n      const offsetLeft = rect.left;\r\n      parent.style.position = 'relative';\r\n      parent.style.left = -offsetLeft + 'px';\r\n      parent.style.width = window.innerWidth + 'px';\r\n      parent.style.margin = '0';\r\n      parent.style.padding = '0';\r\n    }\r\n\r\n    const rectHero = heroSection.getBoundingClientRect();\r\n    heroSection.style.left = -rectHero.left + 'px';\r\n    heroSection.style.width = window.innerWidth + 'px';\r\n    heroSection.style.margin = '0';\r\n    heroSection.style.padding = '0';\r\n  }\r\n\r\n  \/\/ ===== Pocz\u0105tkowe wywo\u0142anie =====\r\n  stretchHero();\r\n\r\n  \/\/ ===== Aktualizacja przy zmianie rozmiaru okna =====\r\n  window.addEventListener('resize', () => requestAnimationFrame(stretchHero));\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-520130a e-con-full e-flex e-con e-parent\" data-id=\"520130a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-001038e elementor-widget elementor-widget-html\" data-id=\"001038e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"parallax-highlight-block fullwidth-widget\">\n  <div class=\"image-window\">\n    <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad2.png\" alt=\"Nowoczesny obraz DTS\" class=\"hero-img\">\n    \n    <!-- Overlay przyciemnienie -->\n    <div class=\"overlay\"><\/div>\n\n    <!-- Blur g\u00f3rny i dolny -->\n    <div class=\"blur-top\"><\/div>\n    <div class=\"blur-bottom\"><\/div>\n\n    <!-- Tekst -->\n    <div class=\"text-on-image fade-up\">\n      <p>\n        Nowoczesny obraz drukowany metod\u0105 DTS (Direct Transfer System) to innowacyjne po\u0142\u0105czenie technologii i sztuki. \n        Wydruk nanoszony jest \"na zimno\" bezpo\u015brednio na strukturaln\u0105 powierzchni\u0119 p\u0142yty - przypomina to spos\u00f3b, w jaki tatua\u017ce z gum balonowych przenoszone s\u0105 na sk\u00f3r\u0119.\n      <\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n\/* ===== Podstawowe ustawienia ===== *\/\nbody { margin: 0; padding: 0; box-sizing: border-box; }\n\n.parallax-highlight-block {\n  width: 100%;\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n  background: linear-gradient(to bottom, #e6e1d8 0%, #f0ebe1 50%, #e6e1d8 100%);\n}\n\n.image-window {\n  position: relative;\n  width: 100%;\n  height: 650px;\n  overflow: hidden;\n  margin: 0;\n}\n\n\/* Hero Image *\/\n.image-window img.hero-img {\n  position: absolute;\n  top: 25%;\n  left: 50%;\n  transform: translate(-50%, -50%) scale(1.1);\n  width: 100%;\n  height: auto;\n  min-height: 120%;\n  object-fit: cover;\n  object-position: center center;\n  will-change: transform;\n  z-index: 0;\n}\n\n\/* Overlay przyciemnienie *\/\n.overlay {\n  position: absolute;\n  top:0; left:0;\n  width:100%; height:100%;\n  background: radial-gradient(circle at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.6) 100%);\n  opacity: 0.15;\n  pointer-events: none;\n  transition: opacity 1s ease-out;\n  z-index: 1;\n}\n\n\/* Blur g\u00f3rny i dolny *\/\n.blur-top, .blur-bottom {\n  position: absolute;\n  left: 0;\n  width: 100%;\n  height: 30%;\n  pointer-events: none;\n  opacity: 0;\n  transition: opacity 1.2s ease-in-out;\n  z-index: 1;\n}\n\n.blur-top { top:0; background: linear-gradient(to bottom, rgba(0,0,0,0.6), transparent); }\n.blur-bottom { bottom:0; background: linear-gradient(to top, rgba(0,0,0,0.6), transparent); }\n\n\/* Tekst na obrazie *\/\n.text-on-image {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%) translateY(20px);\n  text-align: center;\n  color: #fff;\n  font-family: 'Playfair Display', serif;\n  font-size: 1.3rem;\n  max-width: 900px;\n  opacity: 0;\n  transition: opacity 1s ease-out, transform 1s ease-out;\n  z-index: 2;\n}\n\n\/* fade-up *\/\n.fade-up { opacity: 0; transform: translateY(20px); }\n.fade-up.visible { opacity: 1; transform: translateY(0); }\n\n\/* ===== MOBILE ===== *\/\n@media (max-width: 480px) {\n  .image-window { \n    height: 350px; \n    overflow: hidden; \n  }\n\n  .image-window img.hero-img {\n    position: absolute !important;\n    top: 50% !important;\n    left: 50% !important;       \n    width: auto !important;\n    height: 100% !important;\n    max-width: none !important;     \n    object-fit: cover;\n    object-position: center center;\n    transform: translate(-50%, -50%) !important;\n  }\n\n  \/* Tekst w g\u00f3rnym 22-25% obrazu, overlay do kraw\u0119dzi *\/\n  .text-on-image {\n    position: absolute !important;\n    top: 2% !important;                 \/* lekki odst\u0119p od g\u00f3rnej kraw\u0119dzi *\/\n    bottom: auto !important;\n    left: 0 !important;\n    right: 0 !important;                 \/* pe\u0142na szeroko\u015b\u0107 *\/\n    transform: none !important;          \/* wy\u0142\u0105cz transform *\/\n    width: 100% !important;\n    max-height: 25% !important;          \/* lekko wi\u0119ksza wysoko\u015b\u0107 dla tekstu *\/\n    padding: 12px 10px !important;       \/* wi\u0119cej miejsca w pionie i bokach *\/\n    text-align: center !important;\n    font-size: 12px !important;\n    line-height: 1.2em !important;\n    overflow: hidden;\n    display: flex;\n    align-items: center;                 \/* pionowe wy\u015brodkowanie w boxie *\/\n    justify-content: center;             \/* poziome wy\u015brodkowanie *\/\n    background: rgba(0,0,0,0.55);       \/* lekko przyciemnione t\u0142o *\/\n    border-radius: 0 0 0 0;              \/* prosty pasek do kraw\u0119dzi *\/\n    white-space: normal !important; \n    word-wrap: break-word !important;\n  }\n\n  \/* Blur dolny wy\u0142\u0105czony, g\u00f3rny pozostawiamy je\u015bli chcesz *\/\n  .blur-bottom { display: none !important; }\n\n  \/* Reset stretch JS na mobile *\/\n  .fullwidth-widget {\n    position: relative !important;\n    left: 0 !important;\n    width: 100% !important;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n}\n\n<\/style>\n\n<script>\n\/* ===========================\n   STRETCH TYLKO NA DESKTOPIE\n   =========================== *\/\n\nfunction stretchWidget() {\n  const widget = document.querySelector('.fullwidth-widget');\n  if (!widget) return;\n\n  if (window.innerWidth <= 480) {\n    \/\/ MOBILE \u2014 brak stretch\n    widget.style.position = '';\n    widget.style.left = '';\n    widget.style.width = '';\n    widget.style.margin = '';\n    widget.style.padding = '';\n    return;\n  }\n\n  \/\/ DESKTOP stretch\n  const rect = widget.getBoundingClientRect();\n  const viewportWidth = window.innerWidth;\n  const offsetLeft = rect.left;\n\n  widget.style.position = 'relative';\n  widget.style.left = -offsetLeft + 'px';\n  widget.style.width = viewportWidth + 'px';\n  widget.style.margin = '0';\n  widget.style.padding = '0';\n}\n\nstretchWidget();\nwindow.addEventListener('resize', () => requestAnimationFrame(stretchWidget));\n\n\/* fade-in tekstu *\/\nconst textElement = document.querySelector('.text-on-image');\nconst overlay = document.querySelector('.overlay');\nconst blurTop = document.querySelector('.blur-top');\nconst blurBottom = document.querySelector('.blur-bottom');\n\nfunction handleScroll() {\n  const imageWindow = document.querySelector('.image-window');\n  if(!imageWindow) return;\n\n  const rect = imageWindow.getBoundingClientRect();\n  const windowHeight = window.innerHeight;\n  const visibleHeight = Math.min(rect.bottom, windowHeight) - Math.max(rect.top, 0);\n  const visibleRatio = Math.max(0, Math.min(visibleHeight \/ rect.height, 1));\n\n  if (visibleRatio >= 0.75) { \n    overlay.style.opacity = 1;\n    blurTop.style.opacity = 1;\n    blurBottom.style.opacity = 1;\n    textElement.classList.add('visible');\n  } else {\n    overlay.style.opacity = 0.15;\n    blurTop.style.opacity = 0;\n    blurBottom.style.opacity = 0;\n    textElement.classList.remove('visible');\n  }\n}\n\nwindow.addEventListener('scroll', handleScroll);\nwindow.addEventListener('resize', handleScroll);\nhandleScroll();\n\n\/* animacja obrazu *\/\nconst img = document.querySelector('.image-window img.hero-img');\nlet targetY = 0;\nlet currentY = 0;\n\nfunction updateImagePosition() {\n  if(!img) return;\n\n  const rect = img.parentElement.getBoundingClientRect();\n  const windowHeight = window.innerHeight;\n\n  if(rect.bottom > 0 && rect.top < windowHeight){\n    const visibleRatio = (windowHeight - rect.top) \/ (windowHeight + rect.height);\n    targetY = (visibleRatio - 0.5) * 180;\n  }\n\n  if(currentY === 0) currentY = targetY;\n  currentY += (targetY - currentY) * 0.07;\n\n  if(window.innerWidth > 480){\n    \/\/ DESKTOP \u2013 parallax\n    img.style.transform = `translate(-50%, calc(-50% + ${currentY}px)) scale(1.1)`;\n  } else {\n    \/\/ MOBILE \u2013 brak przesuni\u0119cia\n    img.style.transform = 'translate(-50%, -50%)';\n  }\n\n  requestAnimationFrame(updateImagePosition);\n}\n\nrequestAnimationFrame(updateImagePosition);\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-31969db e-con-full e-flex e-con e-parent\" data-id=\"31969db\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-da6311c elementor-widget elementor-widget-menu-anchor\" data-id=\"da6311c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"oferta\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-73c13bc elementor-widget elementor-widget-html\" data-id=\"73c13bc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"product-features-widget\">\r\n\r\n  <div class=\"widget-inner\">\r\n    <h2 class=\"features-header\">CECHY PRODUKTU<\/h2>\r\n\r\n    <div class=\"features-points\">\r\n      <div class=\"feature-point\" data-desc=\"Bez utraty jako\u015bci i bez warstwy laminatu. Technologia pozwala na pe\u0142ne odwzorowanie ka\u017cdego szczeg\u00f3\u0142u i koloru. Kolory pozostaj\u0105 \u017cywe, a detale wyra\u017ane, dzi\u0119ki czemu dekoracja wygl\u0105da profesjonalnie i naturalnie.\">Druk na zimno<\/div>\r\n      <div class=\"feature-point\" data-desc=\"Powierzchnia imituje kamie\u0144, beton, tynk lub drewno, dodaj\u0105c g\u0142\u0119bi i realistycznego charakteru. Efekt tr\u00f3jwymiarowo\u015bci sprawia, \u017ce mural wygl\u0105da dynamicznie pod r\u00f3\u017cnym k\u0105tem \u015bwiat\u0142a.\">Struktura 3D<\/div>\r\n      <div class=\"feature-point\" data-desc=\"Matowe wyko\u0144czenie sprawia, \u017ce obraz jest czytelny i estetyczny niezale\u017cnie od k\u0105ta padania \u015bwiat\u0142a. Idealne rozwi\u0105zanie do przestrzeni o\u015bwietlonych naturalnie lub punktowo.\">Brak odb\u0142ysk\u00f3w<\/div>\r\n      <div class=\"feature-point\" data-desc=\"Mural jest odporny na wilgo\u0107, promienie UV i zarysowania, co zapewnia trwa\u0142o\u015b\u0107 i d\u0142ugowieczno\u015b\u0107 nawet w intensywnie u\u017cytkowanych przestrzeniach, takich jak biura, hotele czy restauracje.\">Wysoka odporno\u015b\u0107<\/div>\r\n      <div class=\"feature-point\" data-desc=\"Realizujemy ka\u017cdy projekt: grafiki, zdj\u0119cia, ilustracje, cytaty czy wzory brandowe, dopasowane do stylu wn\u0119trza. Dzi\u0119ki temu dekoracja jest naprawd\u0119 unikatowa i spersonalizowana.\">Indywidualno\u015b\u0107<\/div>\r\n      <div class=\"feature-point\" data-desc=\"Struktura i grafika tworz\u0105 efekt 3D reaguj\u0105cy na \u015bwiat\u0142o, kt\u00f3ry nadaje muralowi wyj\u0105tkowego charakteru. Ka\u017cdy detal przyci\u0105ga wzrok i nadaje przestrzeni emocjonalnej g\u0142\u0119bi.\">Zmys\u0142owy efekt<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"features-image-wrapper\">\r\n      <div class=\"features-image-inner\">\r\n        <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad8_200.jpg\" alt=\"Obraz strukturalny DTS\">\r\n        <div class=\"feature-overlay\">\r\n          <p class=\"overlay-text\"><\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"arrow left-arrow\"><\/div>\r\n      <div class=\"arrow right-arrow\"><\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<style>\r\n.product-features-widget {\r\n  font-family: 'Playfair Display', serif;\r\n  text-align: center;\r\n  position: relative;\r\n}\r\n\r\n.widget-inner {\r\n  max-width: 1200px;\r\n  margin: 0 auto;\r\n  padding-top: 80px;\r\n  padding-bottom: 80px;\r\n}\r\n\r\n.features-header {\r\n  font-size: 32px;\r\n  font-weight: 700;\r\n  color: #C9A86A;\r\n  margin-bottom: 40px;\r\n}\r\n\r\n.features-points {\r\n  display: flex;\r\n  justify-content: center;\r\n  flex-wrap: wrap;\r\n  gap: 50px;\r\n  margin-bottom: 40px;\r\n}\r\n\r\n.feature-point {\r\n  cursor: pointer;\r\n  font-size: 18px;\r\n  font-weight: 600;\r\n  color: #2B2B2B;\r\n  position: relative;\r\n  padding: 8px 12px;\r\n  transition: color .3s ease, transform .3s ease;\r\n}\r\n\r\n.feature-point.active,\r\n.feature-point:hover {\r\n  color: #C9A86A;\r\n  transform: scale(1.05);\r\n}\r\n\r\n.feature-point::after {\r\n  content: '';\r\n  position: absolute;\r\n  bottom: -4px;\r\n  left: 50%;\r\n  width: 0;\r\n  height: 3px;\r\n  background: #C9A86A;\r\n  border-radius: 2px;\r\n  transform: translateX(-50%) scaleX(0);\r\n  transition: width .4s ease, transform .4s ease;\r\n}\r\n\r\n.feature-point.active::after,\r\n.feature-point:hover::after {\r\n  width: 100%;\r\n  transform: translateX(-50%) scaleX(1);\r\n}\r\n\r\n.features-image-wrapper {\r\n  position: relative;\r\n  width: 100%;\r\n  max-width: 450px;\r\n  margin: 0 auto;\r\n}\r\n\r\n.features-image-inner {\r\n  position: relative;\r\n  border-radius: 8px;\r\n  overflow: hidden;\r\n}\r\n\r\n.features-image-inner img {\r\n  width: 100%;\r\n  border-radius: 8px;\r\n  display: block;\r\n}\r\n\r\n\/* BOTTOM RECTANGLE OVERLAY *\/\r\n.feature-overlay {\r\n  position: absolute;\r\n  left: 0px;\r\n  right: 0px;\r\n  bottom: 0px;\r\n  height: 25%;\r\n  background: rgba(0, 0, 0, 0.55);\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  padding: 12px 16px;\r\n  pointer-events: none;\r\n  opacity: 0;\r\n  transition: opacity 0.4s ease;\r\n  z-index: 2;\r\n  border-radius: 6px;\r\n}\r\n\r\n.feature-overlay p {\r\n  color: #fff;\r\n  font-size: 16px;\r\n  line-height: 1.5;\r\n  margin: 0;\r\n  opacity: 0;\r\n  transform: translateY(8px);\r\n  transition: opacity .2s ease-in, transform .4s ease;\r\n  text-align: center;\r\n}\r\n\r\n.feature-overlay.show { opacity: 1; }\r\n.feature-overlay.show p { opacity: 1; transform: translateY(0); }\r\n\r\n\/* ARROWS *\/\r\n.arrow {\r\n  position: absolute;\r\n  top: 50%;\r\n  width: 26px;\r\n  height: 26px;\r\n  border-left: 3px solid #C9A86A;\r\n  border-bottom: 3px solid #C9A86A;\r\n  cursor: pointer;\r\n  z-index: 3;\r\n  transition: transform .3s ease;\r\n}\r\n\r\n.left-arrow { left: -65px; transform: translateY(-50%) rotate(45deg); }\r\n.right-arrow { right: -65px; transform: translateY(-50%) rotate(-135deg); }\r\n\r\n.arrow:hover { transform: scale(1.1) translateY(-50%) rotate(45deg); }\r\n.right-arrow:hover { transform: scale(1.1) translateY(-50%) rotate(-135deg); }\r\n\r\n\/* MOBILE *\/\r\n@media (max-width: 900px) {\r\n  .features-points { gap: 20px; }\r\n  .features-image-wrapper { max-width: 95%; margin: 0 auto; }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n  .widget-inner {\r\n    padding-top: 40px;\r\n    padding-bottom: 40px;\r\n  }\r\n\r\n  .features-points {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, 1fr);\r\n    gap: 15px 20px;\r\n    justify-items: center;\r\n  }\r\n\r\n  .features-header { font-size: 24px; margin-bottom: 20px; }\r\n  .features-image-wrapper { max-width: 95%; }\r\n  .arrow { display: none; }\r\n\r\n  .feature-overlay {\r\n    height: 32%;\r\n    padding: 12px;\r\n  }\r\n\r\n  .feature-overlay p {\r\n    font-size: 14px;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n  const points = document.querySelectorAll('.feature-point');\r\n  const overlay = document.querySelector('.feature-overlay');\r\n  const overlayText = overlay.querySelector('.overlay-text');\r\n  const leftArrow = document.querySelector('.left-arrow');\r\n  const rightArrow = document.querySelector('.right-arrow');\r\n\r\n  let autoIndex = 0;\r\n  let autoTimer;\r\n  let switchTimeout;\r\n  let isPaused = false;\r\n\r\n  function showOverlay(point) {\r\n    clearTimeout(switchTimeout);\r\n    const newText = point.dataset.desc;\r\n\r\n    points.forEach(p => p.classList.remove('active'));\r\n    point.classList.add('active');\r\n\r\n    overlayText.style.opacity = '0';\r\n    overlayText.style.transform = 'translateY(8px)';\r\n\r\n    switchTimeout = setTimeout(() => {\r\n      overlayText.textContent = newText;\r\n      overlay.classList.add('show');\r\n      overlayText.style.opacity = '1';\r\n      overlayText.style.transform = 'translateY(0)';\r\n    }, 120);\r\n  }\r\n\r\n  function nextPoint() {\r\n    if (isPaused) return;\r\n    autoIndex = (autoIndex + 1) % points.length;\r\n    showOverlay(points[autoIndex]);\r\n  }\r\n\r\n  function startAutoLoop() { autoTimer = setInterval(nextPoint, 7000); }\r\n  function stopAutoLoop() { clearInterval(autoTimer); }\r\n\r\n  points.forEach((point, index) => {\r\n    point.addEventListener('mouseenter', () => {\r\n      isPaused = true;\r\n      stopAutoLoop();\r\n      showOverlay(point);\r\n      autoIndex = index;\r\n    });\r\n    point.addEventListener('mouseleave', () => {\r\n      isPaused = false;\r\n      startAutoLoop();\r\n    });\r\n  });\r\n\r\nfunction resetAutoLoop() {\r\n  stopAutoLoop();\r\n  startAutoLoop();\r\n}\r\n\r\nleftArrow.addEventListener('click', () => {\r\n  isPaused = false;\r\n  autoIndex = (autoIndex - 1 + points.length) % points.length;\r\n  showOverlay(points[autoIndex]);\r\n  resetAutoLoop();\r\n});\r\n\r\nrightArrow.addEventListener('click', () => {\r\n  isPaused = false;\r\n  autoIndex = (autoIndex + 1) % points.length;\r\n  showOverlay(points[autoIndex]);\r\n  resetAutoLoop();\r\n});\r\n\r\n  showOverlay(points[0]);\r\n  startAutoLoop();\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b58be20 e-con-full e-flex e-con e-parent\" data-id=\"b58be20\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3dce1b1 elementor-widget elementor-widget-html\" data-id=\"3dce1b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"section-abstract\">\r\n  <div class=\"abstract-wrapper\">\r\n\r\n    <!-- BLOCK 1: Tekst 1 + Obraz 1 -->\r\n    <div class=\"abstract-block\">\r\n      <div class=\"abstract-text\">\r\n        <div class=\"text-block\">\r\n          <h3>Si\u0142a w innowacyjno\u015bci<\/h3>\r\n          <ul class=\"abstract-points\">\r\n            <li><b>Nadaje wn\u0119trzu charakter i wyj\u0105tkowo\u015b\u0107.<\/b> Tworzy indywidualny klimat w ka\u017cdej przestrzeni, wyr\u00f3\u017cniaj\u0105c j\u0105 na tle klasycznych dekoracji.<\/li>\r\n            <li><b>Alternatywa dla tradycyjnych form.<\/b> Zamiast obraz\u00f3w na p\u0142\u00f3tnie czy plakat\u00f3w \u2014 nowoczesna, niepowtarzalna forma dekoracji.<\/li>\r\n            <li><b>Idealne odwzorowanie detali i kolor\u00f3w<\/b> \u2014 technologia DTS gwarantuje pe\u0142n\u0105 gam\u0119 barw i fotograficzn\u0105 precyzj\u0119.<\/li>\r\n            <li><b>Pe\u0142na personalizacja<\/b> \u2014 wybierz krajobraz, grafik\u0119, zdj\u0119cie rodzinne, minimalistyczn\u0105 form\u0119 lub sztuk\u0119 cyfrow\u0105 dopasowan\u0105 do Twojego wn\u0119trza.<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"abstract-images\">\r\n        <div class=\"tilt-wrapper tilt-wrapper-left\">\r\n          <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad5-\u2014-upscale.png\"\r\n               alt=\"Obraz DTS przyk\u0142ad 1\"\r\n               class=\"tilt-img tilt-left\">\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- BLOCK 2: Tekst 2 + Obraz 2 -->\r\n    <div class=\"abstract-block\">\r\n      <div class=\"abstract-text\">\r\n        <div class=\"text-block\">\r\n          <h3>Wn\u0119trza z dusz\u0105<\/h3>\r\n          <ul class=\"abstract-points\">\r\n            <li><b>Salon<\/b> \u2013 centralny punkt nad sof\u0105, kt\u00f3ry przyci\u0105ga wzrok i nadaje wn\u0119trzu elegancj\u0119 oraz wyj\u0105tkowy charakter.<\/li>\r\n            <li><b>Sypialnia<\/b> \u2013 subtelna, nastrojowa grafika wprowadza spok\u00f3j, harmoni\u0119 i przytulny klimat do przestrzeni relaksu.<\/li>\r\n            <li><b>Biuro lub gabinet<\/b> \u2013 motyw tematyczny lub inspiruj\u0105cy cytat dodaje profesjonalizmu i motywuje do dzia\u0142ania.<\/li>\r\n            <li><b>Wn\u0119trza komercyjne<\/b> \u2013 hotele, restauracje, SPA \u2014 obrazy podkre\u015blaj\u0105 styl miejsca, wzbogacaj\u0105 atmosfer\u0119 i przyci\u0105gaj\u0105 uwag\u0119 go\u015bci.<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"abstract-images\">\r\n        <div class=\"tilt-wrapper tilt-wrapper-right\">\r\n          <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad5_5-\u2014-upscaled.jpg\"\r\n               alt=\"Obraz DTS przyk\u0142ad 2\"\r\n               class=\"tilt-img tilt-right\">\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n\/* ===== SEKCJA ===== *\/\r\n.section-abstract {\r\n  width: 100%;\r\n  padding: 100px 40px;\r\n  background: #f5f5f5;\r\n  display: flex;\r\n  justify-content: center;\r\n  box-sizing: border-box;\r\n  font-family: 'Playfair Display', serif;\r\n  overflow: visible;\r\n}\r\n\r\n.abstract-wrapper {\r\n  max-width: 1300px;\r\n  width: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 60px;\r\n}\r\n\r\n.abstract-block {\r\n  display: flex;\r\n  align-items: flex-start;\r\n  justify-content: space-between;\r\n  gap: 60px;\r\n}\r\n\r\n.abstract-text {\r\n  flex: 0 0 500px;\r\n  color: #2B2B2B;\r\n  line-height: 1.7;\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 35px;\r\n}\r\n\r\n.abstract-text h3 {\r\n  margin-bottom: 10px;\r\n  font-size: 26px;\r\n  color: #000;\r\n  font-weight: 700;\r\n  position: relative;\r\n  padding-left: 24px;\r\n}\r\n\r\n.abstract-text h3::before {\r\n  content: \"\";\r\n  position: absolute;\r\n  left: 0;\r\n  top: 16px;\r\n  width: 14px;\r\n  height: 2px;\r\n  background-color: #C9A86A;\r\n  opacity: 0.8;\r\n}\r\n\r\n\/* --- Listy punktowane --- *\/\r\n.abstract-points {\r\n  padding-left: 20px;\r\n  margin: 0;\r\n  list-style: disc;\r\n}\r\n\r\n.abstract-points li {\r\n  margin-bottom: 10px;\r\n  line-height: 1.8;\r\n  font-size: 17px;\r\n}\r\n\r\n.abstract-points li:last-child {\r\n  margin-bottom: 0;\r\n}\r\n\r\n\/* --- Obrazy --- *\/\r\n.abstract-images {\r\n  flex: 0 0 500px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 120px;\r\n  z-index: 0;\r\n}\r\n\r\n.tilt-wrapper {\r\n  position: relative;\r\n  border-radius: 12px;\r\n  overflow: visible;\r\n}\r\n\r\n.tilt-img {\r\n  width: 100%;\r\n  height: auto;\r\n  display: block;\r\n  object-fit: cover;\r\n  transition: transform 0.5s ease, box-shadow 0.5s ease, filter 0.5s ease;\r\n  z-index: 1;\r\n  opacity: 0.7;\r\n  filter: brightness(0.85);\r\n  box-shadow: 0 4px 6px rgba(0,0,0,0.2);\r\n}\r\n\r\n.tilt-left { transform: rotate(-3deg); }\r\n.tilt-right { transform: rotate(3deg); }\r\n\r\n.tilt-img.settled {\r\n  transform: rotate(0deg);\r\n  opacity: 1;\r\n  filter: brightness(1);\r\n  box-shadow:\r\n    0 6px 8px rgba(0,0,0,0.4),\r\n    0 10px 12px rgba(0,0,0,0.35),\r\n    0 14px 16px rgba(0,0,0,0.3);\r\n}\r\n\r\n.tilt-img.settled:hover {\r\n  transform: scale(1.04) rotate(0deg);\r\n  box-shadow:\r\n    0 8px 12px rgba(0,0,0,0.45),\r\n    0 12px 16px rgba(0,0,0,0.4),\r\n    0 16px 20px rgba(0,0,0,0.35);\r\n}\r\n\r\n\/* RESPONSYWNO\u015a\u0106 *\/\r\n@media (max-width: 900px) {\r\n  .abstract-block { flex-direction: column; gap: 60px; }\r\n  .abstract-images { gap: 80px; }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n  .section-abstract { padding: 60px 20px 40px 20px; }\r\n  .abstract-block { flex-direction: column; gap: 10px; }\r\n  .abstract-images { flex: 0 0 auto; gap: 30px; }\r\n  .tilt-img { transform: rotate(0deg) !important; height: auto; width: 100%; object-fit: contain; border-radius: 12px; }\r\n}\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n  const topImg = document.querySelector('.tilt-left');\r\n  const bottomImg = document.querySelector('.tilt-right');\r\n\r\n  let topTriggered = false;\r\n  let bottomTriggered = false;\r\n\r\n  function settleImage(img) {\r\n    img.classList.add('settled');\r\n  }\r\n\r\n  function onScroll() {\r\n    const section = document.querySelector('.section-abstract');\r\n    const rect = section.getBoundingClientRect();\r\n\r\n    if (!topTriggered && rect.top < window.innerHeight * 0.4) {\r\n      settleImage(topImg);\r\n      topTriggered = true;\r\n    }\r\n\r\n    if (!bottomTriggered && rect.top < window.innerHeight * 0.03) {\r\n      settleImage(bottomImg);\r\n      bottomTriggered = true;\r\n    }\r\n\r\n    if (topTriggered && bottomTriggered) {\r\n      window.removeEventListener('scroll', onScroll);\r\n    }\r\n  }\r\n\r\n  window.addEventListener('scroll', onScroll);\r\n  onScroll();\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-65dda79 e-con-full e-flex e-con e-parent\" data-id=\"65dda79\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-704c0ea elementor-widget elementor-widget-html\" data-id=\"704c0ea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"structural-section\">\r\n\r\n  <h2 class=\"main-header fade-in\">Wymiar Premium w Druku Artystycznym<\/h2>\r\n\r\n  <div class=\"content-wrapper\">\r\n\r\n    <!-- LEWA KOLUMNA -->\r\n    <div class=\"points-column\">\r\n\r\n      <h3 class=\"subheader\">CECHY DRUKU<\/h3>\r\n\r\n      <div class=\"point\" data-desc=\"Bezpo\u015bredni, zimny transfer nadruku na dowoln\u0105 struktur\u0119. Nadruk jest precyzyjny i zachowuje pe\u0142n\u0105 gam\u0119 kolor\u00f3w, idealnie odwzorowuj\u0105c detale Twojego projektu.\">Technologia DTS<\/div>\r\n\r\n      <div class=\"point active\" data-desc=\"Nieregularna, fakturowana baza dodaje realizmu, g\u0142\u0119bi i artystycznego wyrazu. Dzi\u0119ki temu ka\u017cdy nadruk staje si\u0119 unikalnym dzie\u0142em sztuki, kt\u00f3re idealnie komponuje si\u0119 z wn\u0119trzem i przyci\u0105ga wzrok.\">Powierzchnia strukturalna<\/div>\r\n\r\n      <div class=\"point\" data-desc=\"Mo\u017cesz zam\u00f3wi\u0107 obraz z w\u0142asnym zdj\u0119ciem, ilustracj\u0105 lub wybra\u0107 grafik\u0119 z katalogu. Ka\u017cdy projekt jest personalizowany i dopasowany do Twojego wn\u0119trza, zapewniaj\u0105c indywidualny charakter dekoracji.\">Dowolna grafika<\/div>\r\n\r\n      <div class=\"point\" data-desc=\"Odporno\u015b\u0107 na zarysowania, promieniowanie UV i wilgo\u0107, kolory zachowuj\u0105 intensywno\u015b\u0107 przez lata. Nadruki s\u0105 trwa\u0142e i odporne na codzienne czynniki, co gwarantuje d\u0142ugowieczno\u015b\u0107 dekoracji.\">Trwa\u0142o\u015b\u0107<\/div>\r\n\r\n      <div class=\"point\" data-desc=\"Elegancka forma bez zb\u0119dnych dodatk\u00f3w, pasuje do nowoczesnych i klasycznych wn\u0119trz. Minimalistyczny design sprawia, \u017ce dekoracja jest ponadczasowa i harmonijnie wpisuje si\u0119 w przestrze\u0144.\">Bezramkowy wygl\u0105d<\/div>\r\n\r\n      <!-- STA\u0141E OKNO OPIS\u00d3W -->\r\n      <div class=\"description-box\">\r\n        <p class=\"visible\"><\/p>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- PRAWA KOLUMNA -->\r\n    <div class=\"image-column\">\r\n      <div class=\"image-inner\">\r\n        <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad3-upscaled-noframe.png\" \r\n             alt=\"Obraz strukturalny DTS\" class=\"fade-image structured-img\">\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n\/* --- SEKCJA --- *\/\r\n.structural-section {\r\n  width: 100%;\r\n  padding: 150px 20px;\r\n  background: #f2f0eb;\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  font-family: 'Playfair Display', serif;\r\n}\r\n\r\n\/* --- LAYOUT --- *\/\r\n.content-wrapper {\r\n  display: flex;\r\n  max-width: 1400px;\r\n  width: 100%;\r\n  gap: 130px;\r\n  align-items: flex-start;\r\n  justify-content: center;\r\n}\r\n\r\n\/* --- NAG\u0141\u00d3WEK G\u0141\u00d3WNY --- *\/\r\n.main-header {\r\n  font-size: 32px;\r\n  font-weight: 700;\r\n  color: #222;\r\n  margin-bottom: 30px;\r\n  text-align: center;\r\n  opacity: 0;\r\n  transform: translateY(-20px);\r\n  transition: opacity .6s ease, transform .6s ease;\r\n}\r\n.main-header.visible { opacity: 1; transform: translateY(0); }\r\n\r\n\/* --- LEWA KOLUMNA --- *\/\r\n.subheader {\r\n  font-size: 22px;\r\n  margin-bottom: 20px;\r\n  color: #C9A86A;\r\n  font-weight: 700;\r\n  text-transform: uppercase;\r\n}\r\n\r\n.points-column {\r\n  flex: 0 0 460px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 20px;\r\n  font-size: 20px;\r\n  color: #222;\r\n}\r\n\r\n\/* --- PUNKTY --- *\/\r\n.point {\r\n  display: inline-block;\r\n  cursor: pointer;\r\n  position: relative;\r\n  padding: 8px 0;\r\n  transition: color .3s ease, transform .3s ease;\r\n}\r\n\r\n.point::after {\r\n  content: '';\r\n  display: block;\r\n  height: 3px;\r\n  width: 0%;\r\n  background: #C9A86A;\r\n  border-radius: 2px;\r\n  margin-top: 4px;\r\n  transition: width .5s ease;\r\n}\r\n\r\n.point.active,\r\n.point:hover {\r\n  color: #C9A86A;\r\n  transform: scale(1.03);\r\n}\r\n\r\n.point.active::after,\r\n.point:hover::after {\r\n  width: 100%;\r\n}\r\n\r\n\/* --- OKNO OPIS\u00d3W --- *\/\r\n.description-box {\r\n  margin-top: 25px;\r\n  padding: 35px 25px;\r\n\r\n  \/* T\u0141O Z TEKSTUR\u0104 *\/\r\n  background-image:\r\n    linear-gradient(\r\n      rgba(255,255,255,0.85),\r\n      rgba(255,255,255,0.85)\r\n    ),\r\n    url('https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/teksturav2.png');\r\n\r\n  background-size: cover;\r\n  background-position: center;\r\n  background-repeat: no-repeat;\r\n\r\n  border-radius: 18px;\r\n  \/* mocniejszy cie\u0144 pod boxem *\/\r\n  box-shadow:\r\n    0 6px 8px rgba(0,0,0,0.3),\r\n    0 10px 12px rgba(0,0,0,0.25),\r\n    0 14px 16px rgba(0,0,0,0.2);\r\n\r\n  min-height: 230px;\r\n  max-height: 230px;\r\n\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  overflow: hidden;\r\n}\r\n\r\n\r\n.description-box p {\r\n  margin: 0;\r\n  opacity: 0;\r\n  transform: translateY(10px);\r\n  transition: opacity .5s ease, transform .5s ease;\r\n}\r\n\r\n.description-box p.visible {\r\n  opacity: 1;\r\n  transform: translateY(0);\r\n}\r\n\r\n\/* --- PRAWA KOLUMNA --- *\/\r\n.image-column {\r\n  flex: 0 0 600px;\r\n  display: flex;\r\n  justify-content: center;\r\n}\r\n\r\n.image-inner {\r\n  overflow: hidden;\r\n  border-radius: 14px;\r\n  \/* dodany cie\u0144 pod doln\u0105 kraw\u0119dzi\u0105 dla efektu g\u0142\u0119bi *\/\r\n  box-shadow:\r\n    0 6px 8px rgba(0,0,0,0.35),\r\n    0 10px 12px rgba(0,0,0,0.3),\r\n    0 14px 16px rgba(0,0,0,0.25);\r\n}\r\n\r\n\/* --- ANIMOWANE ZDJ\u0118CIE --- *\/\r\n.structured-img {\r\n  width: 100%;\r\n  max-width: 600px;\r\n  display: block;\r\n  border-radius: 14px;\r\n  transform: translateY(20px) scale(0.98);\r\n  opacity: 0.75;\r\n  filter: brightness(0.88);\r\n  transition: transform 0.8s ease, opacity 0.8s ease, filter 0.6s ease;\r\n}\r\n\r\n.structured-img.visible {\r\n  opacity: 1;\r\n  transform: translateY(0) scale(1);\r\n  filter: brightness(1);\r\n}\r\n\r\n.image-inner:hover .structured-img {\r\n  transform: translateY(-5px) scale(1.03);\r\n  filter: brightness(0.92);\r\n}\r\n\r\n\/* --- RESPONSYWNO\u015a\u0106 --- *\/\r\n@media (max-width: 1024px) {\r\n  .content-wrapper {\r\n    flex-direction: column-reverse;\r\n    gap: 60px;\r\n  }\r\n  .points-column {\r\n    text-align: center;\r\n  }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n  .structural-section { padding: 75px 15px; }\r\n  .main-header { font-size: 24px; margin-bottom: 20px; }\r\n  .content-wrapper { flex-direction: column-reverse !important; gap: 15px !important; align-items: center !important; }\r\n  .points-column { width: 100%; text-align: center; gap: 15px; }\r\n  .description-box { min-height: 230px; max-height: 230px; padding: 25px 15px; }\r\n  .image-column { flex: 0 0 auto !important; height: auto !important; display: flex; justify-content: center; align-items: flex-start; margin-bottom: 10px; }\r\n  .image-inner { max-width: 352px !important; width: 100%; height: auto !important; margin: 0 !important; padding: 0 !important; }\r\n  .structured-img { width: 100% !important; max-width: 352px !important; height: auto !important; margin: 0 !important; }\r\n}\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\r\n  const points = document.querySelectorAll(\".structural-section .point\");\r\n  const desc = document.querySelector(\".structural-section .description-box p\");\r\n  const image = document.querySelector(\".structural-section .structured-img\");\r\n\r\n  let currentIndex = points.length > 0 ? [...points].findIndex(p => p.classList.contains(\"active\")) : 0;\r\n  if (currentIndex < 0) currentIndex = 0;\r\n\r\n  let autoTimer = null;\r\n  let switching = false;\r\n\r\n  function showPoint(point) {\r\n    if (switching) return;\r\n    switching = true;\r\n\r\n    points.forEach(p => p.classList.remove(\"active\"));\r\n    point.classList.add(\"active\");\r\n\r\n    const newText = point.dataset.desc;\r\n    desc.classList.remove(\"visible\");\r\n\r\n    setTimeout(() => {\r\n      desc.textContent = newText;\r\n      desc.classList.add(\"visible\");\r\n      switching = false;\r\n    }, 250);\r\n  }\r\n\r\n  function autoNext() {\r\n    currentIndex = (currentIndex + 1) % points.length;\r\n    showPoint(points[currentIndex]);\r\n  }\r\n\r\n  function startAuto() {\r\n    autoTimer = setInterval(autoNext, 5000);\r\n  }\r\n\r\n  function stopAuto() {\r\n    clearInterval(autoTimer);\r\n  }\r\n\r\n  points.forEach((point, i) => {\r\n    point.addEventListener(\"mouseenter\", () => {\r\n      stopAuto();\r\n      currentIndex = i;\r\n      showPoint(point);\r\n    });\r\n    point.addEventListener(\"mouseleave\", () => {\r\n      startAuto();\r\n    });\r\n  });\r\n\r\n  showPoint(points[currentIndex]);\r\n  setTimeout(() => { image.classList.add(\"visible\"); }, 200);\r\n\r\n  startAuto();\r\n\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a475307 e-con-full e-flex e-con e-parent\" data-id=\"a475307\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5b7b78d elementor-absolute elementor-widget elementor-widget-menu-anchor\" data-id=\"5b7b78d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"dts\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b89cc34 elementor-widget elementor-widget-html\" data-id=\"b89cc34\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"width: 100%; padding: 180px 60px; box-sizing: border-box; overflow: visible; font-family: 'Playfair Display', serif;\">\r\n\r\n  <div style=\"display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: center; max-width: 1200px; margin: 0 auto; gap: 120px; position: relative;\">\r\n\r\n    <!-- Lewa kolumna (galeria) -->\r\n    <div id=\"gallery-left\" style=\"flex: 0 0 450px; display: flex; flex-direction: column; align-items: center; position: relative;\">\r\n      \r\n      <div class=\"gallery-wrapper\" style=\"position: relative; width: 100%; height: 666px; overflow: visible; border-radius: 8px;\">\r\n        \r\n        <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad6_upscaled.png\"\r\n             alt=\"Murale DTS\"\r\n             class=\"gallery-item\"\r\n             style=\"width: 100%; height: 100%; object-fit: cover; display: block; opacity: 1; box-shadow: 0 -10px 60px rgba(0,0,0,0.25), 0 10px 30px rgba(0,0,0,0.1); border-radius: 8px;\">\r\n        \r\n        <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad7_upscaled.png\"\r\n             alt=\"Murale DTS - lewy\"\r\n             class=\"gallery-item\"\r\n             style=\"width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0; box-shadow: 0 -10px 60px rgba(0,0,0,0.25), 0 10px 30px rgba(0,0,0,0.1); border-radius: 8px;\">\r\n        \r\n        <div class=\"gallery-duo\"\r\n             style=\"width: 100%; height: 100%; display: flex; flex-direction: column; gap: 40px; opacity: 0;\">\r\n          <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad7_2_upscaled.png\"\r\n               alt=\"Murale DTS - g\u00f3rny\"\r\n               style=\"width: 100%; height: 288px; object-fit: cover; border-radius: 8px; box-shadow: 0 -10px 60px rgba(0,0,0,0.25), 0 10px 30px rgba(0,0,0,0.1);\">\r\n          <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad7_3_upscaled.png\"\r\n               alt=\"Murale DTS - dolny\"\r\n               style=\"width: 100%; height: 343px; object-fit: cover; border-radius: 8px; box-shadow: 0 -10px 60px rgba(0,0,0,0.25), 0 10px 30px rgba(0,0,0,0.1);\">\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Dots -->\r\n      <div id=\"gallery-dots\" style=\"margin-top: 20px; display: flex; gap: 12px; justify-content: center;\">\r\n        <span class=\"dot active\" data-index=\"0\"><\/span>\r\n        <span class=\"dot\" data-index=\"1\"><\/span>\r\n        <span class=\"dot\" data-index=\"2\"><\/span>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <!-- Prawa kolumna z opisem -->\r\n    <div style=\"flex: 0 0 550px; font-size: 18px; line-height: 1.7; color: #2B2B2B; height: 666px; display: flex; flex-direction: column; justify-content: center; margin-left: 10px;\">\r\n      <div>\r\n        <h3 style=\"font-size: 26px; margin-bottom: 10px;\">Murale w technologii DTS (Direct Transfer System)<\/h3>\r\n      <\/div>\r\n      <div style=\"margin-bottom: 30px;\">\r\n        <h3 style=\"font-size: 24px; color: #111;\">Nowoczesna alternatywa dla tradycyjnego muralu malowanego r\u0119cznie<\/h3>\r\n      <\/div>\r\n      <div>\r\n        <p>\r\n          Murale tworzone w technologii DTS to zupe\u0142nie nowa jako\u015b\u0107 w dekoracji du\u017cych powierzchni. \r\n          W przeciwie\u0144stwie do klasycznych, r\u0119cznie malowanych realizacji, ten typ muralu powstaje poprzez \r\n          bezpo\u015bredni transfer grafiki na \u015bcian\u0119 lub inn\u0105 strukturaln\u0105 powierzchni\u0119 (beton, p\u0142yta, drewno, kompozyt). \r\n          Dzi\u0119ki temu zyskujemy efekt o niespotykanej dot\u0105d trwa\u0142o\u015bci, precyzji i g\u0142\u0119bi estetycznej.\r\n        <\/p>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<style>\r\n\/* ===== Galerie i zdj\u0119cia ===== *\/\r\n#gallery-left .gallery-wrapper {\r\n  position: relative;\r\n  width: 100%;\r\n  height: 666px;\r\n  overflow: visible; \r\n  border-radius: 8px;\r\n}\r\n\r\n#gallery-left .gallery-item,\r\n#gallery-left .gallery-duo {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  opacity: 0;\r\n  transform: scale(1);\r\n  transition: opacity 2.5s ease, transform 2.5s ease, filter 0.3s ease;\r\n  border-radius: 8px;\r\n}\r\n\r\n#gallery-left .gallery-item {\r\n  object-fit: cover;\r\n  display: block;\r\n  box-shadow: 0 -10px 60px rgba(0,0,0,0.25), 0 10px 30px rgba(0,0,0,0.1);\r\n}\r\n\r\n#gallery-left .gallery-duo {\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 40px;\r\n}\r\n\r\n#gallery-left .gallery-duo img {\r\n  object-fit: cover;\r\n  border-radius: 8px;\r\n  box-shadow: 0 -10px 60px rgba(0,0,0,0.25), 0 10px 30px rgba(0,0,0,0.1);\r\n  transition: transform 0.3s ease, filter 0.3s ease;\r\n}\r\n\r\n\/* Hover efekty powi\u0119kszenia *\/\r\n#gallery-left .gallery-item:hover,\r\n#gallery-left .gallery-duo img:hover {\r\n  transform: scale(1.03);\r\n  filter: brightness(1.05);\r\n}\r\n\r\n\/* Dots pod galeri\u0105 *\/\r\n#gallery-dots {\r\n  margin-top: 20px;\r\n  display: flex;\r\n  gap: 12px;\r\n  justify-content: center;\r\n}\r\n#gallery-dots .dot {\r\n  width: 14px;\r\n  height: 14px;\r\n  border-radius: 50%;\r\n  display: inline-block;\r\n  cursor: pointer;\r\n  background: #ccc;\r\n  transition: background 0.3s ease, transform 0.3s ease;\r\n}\r\n#gallery-dots .dot.active {\r\n  background: #C9A86A;\r\n}\r\n#gallery-dots .dot:hover {\r\n  transform: scale(1.2);\r\n}\r\n\r\n@media (max-width: 900px) {\r\n  #gallery-left .gallery-wrapper {\r\n    height: auto; \/* dopasowuje si\u0119 do zawarto\u015bci *\/\r\n    position: relative;\r\n  }\r\n\r\n  #gallery-left .gallery-item {\r\n    position: absolute; \/* pozostaje absolutny, nak\u0142ada si\u0119 w tym samym miejscu *\/\r\n    top: 0;\r\n    left: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n    opacity: 0;\r\n  }\r\n\r\n  #gallery-left .gallery-duo {\r\n    position: absolute; \/* te\u017c absolutny *\/\r\n    top: 0;\r\n    left: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 20px;\r\n    opacity: 0;\r\n  }\r\n\r\n  #gallery-left .gallery-duo img {\r\n    height: auto;\r\n  }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n  \/* GALERIA *\/\r\n  #gallery-left {\r\n    width: 100%;\r\n    max-width: 352px;\r\n    margin: 0 auto;\r\n  }\r\n\r\n  #gallery-left .gallery-wrapper {\r\n    position: relative;\r\n    width: 100%;\r\n    height: 352px; \/* dopasowanie do najwi\u0119kszego obrazka *\/\r\n    overflow: hidden;\r\n    border-radius: 8px;\r\n  }\r\n\r\n  #gallery-left .gallery-item,\r\n  #gallery-left .gallery-duo {\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    opacity: 0;\r\n    transition: opacity 2.5s ease, transform 2.5s ease;\r\n  }\r\n\r\n  #gallery-left .gallery-duo {\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 10px;\r\n  }\r\n\r\n  #gallery-left .gallery-duo img {\r\n    width: 100%;\r\n    height: auto;\r\n    border-radius: 8px;\r\n    box-shadow: 0 -10px 40px rgba(0,0,0,0.2), 0 10px 20px rgba(0,0,0,0.1);\r\n  }\r\n\r\n  \/* DOTS *\/\r\n  #gallery-dots {\r\n    margin-top: 8px;\r\n    margin-bottom: 4px;\r\n    display: flex;\r\n    gap: 10px;\r\n    justify-content: center;\r\n  }\r\n\r\n  \/* TEKST POD GALERI\u0104 *\/\r\n  div[style*=\"flex: 0 0 550px\"] {\r\n    flex: 0 0 100% !important;\r\n    width: 100% !important;\r\n    max-width: 352px !important;\r\n    height: auto !important; \/* WA\u017bNE: wyzerowanie inline height *\/\r\n    margin-left: 0 !important;\r\n    margin-top: 4px !important; \/* minimalny odst\u0119p od galerii\/dots *\/\r\n    padding: 0;\r\n    box-sizing: border-box;\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: flex-start; \/* tekst do g\u00f3ry *\/\r\n    align-items: center;\r\n  }\r\n\r\n  div[style*=\"flex: 0 0 550px\"] > div {\r\n    width: 100%;\r\n    max-width: 100%;\r\n    margin-bottom: 4px; \/* ma\u0142y odst\u0119p mi\u0119dzy nag\u0142\u00f3wkami *\/\r\n  }\r\n\r\n  div[style*=\"flex: 0 0 550px\"] h3 {\r\n    font-size: 20px;\r\n    text-align: center;\r\n    margin: 4px 0;\r\n  }\r\n\r\n  div[style*=\"flex: 0 0 550px\"] p {\r\n    font-size: 16px;\r\n    line-height: 1.5;\r\n    text-align: center;\r\n    margin: 0;\r\n  }\r\n}\r\n\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n  const items = document.querySelectorAll('#gallery-left .gallery-item, #gallery-left .gallery-duo');\r\n  const dots = document.querySelectorAll('#gallery-dots .dot');\r\n  let index = 0;\r\n  let timer;\r\n\r\n  function showItem(i) {\r\n    items.forEach((el, idx) => {\r\n      if(idx === i){\r\n        el.style.opacity = '1';\r\n        el.style.transform = 'scale(1)';\r\n      } else {\r\n        el.style.opacity = '0';\r\n        el.style.transform = 'scale(1)';\r\n      }\r\n    });\r\n    dots.forEach((dot, idx) => {\r\n      dot.style.background = (idx === i) ? '#C9A86A' : '#ccc';\r\n    });\r\n    index = i;\r\n  }\r\n\r\n  function nextItem() {\r\n    let next = (index + 1) % items.length;\r\n    showItem(next);\r\n  }\r\n\r\n  function startLoop() {\r\n    timer = setInterval(nextItem, 5000);\r\n  }\r\n\r\n  function resetLoop() {\r\n    clearInterval(timer);\r\n    startLoop();\r\n  }\r\n\r\n  dots.forEach(dot => {\r\n    dot.addEventListener('click', () => {\r\n      const i = parseInt(dot.dataset.index);\r\n      showItem(i);\r\n      resetLoop();\r\n    });\r\n  });\r\n\r\n  showItem(0);\r\n  startLoop();\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b1ce3b1 e-con-full e-flex e-con e-parent\" data-id=\"b1ce3b1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a96cfa6 elementor-widget elementor-widget-html\" data-id=\"a96cfa6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"dts-future-section\">\r\n\r\n  <div class=\"dts-overlay\">\r\n    <h2 class=\"dts-section-header\">Dlaczego DTS to przysz\u0142o\u015b\u0107 muralu?<\/h2>\r\n\r\n    <div class=\"dts-point\">\r\n      <h3>1. Fotograficzna precyzja i brak ogranicze\u0144 w detalach<\/h3>\r\n      <ul>\r\n        <li><span class=\"bullet\">\u2022<\/span> Technologia <b>DTS<\/b> pozwala przenie\u015b\u0107 na \u015bcian\u0119 grafik\u0119, zdj\u0119cie lub ilustracj\u0119 z jako\u015bci\u0105 por\u00f3wnywaln\u0105 do wydruk\u00f3w fotograficznych.<\/li>\r\n        <li><span class=\"bullet\">\u2022<\/span> Mo\u017cna odwzorowa\u0107 nawet najdrobniejsze elementy: w\u0142\u00f3kna tkaniny, tekstury sk\u00f3ry, pojedyncze li\u015bcie czy linie papilarne.<\/li>\r\n        <li><span class=\"bullet\">\u2022<\/span> Pe\u0142na gama barw, przej\u015bcia tonalne, \u015bwiat\u0142ocienie i niuanse.<\/li>\r\n      <\/ul>\r\n    <\/div>\r\n\r\n    <div class=\"dts-point\">\r\n      <h3>2. Trwa\u0142o\u015b\u0107 i odporno\u015b\u0107 \u2013 na lata, nie na sezon<\/h3>\r\n      <ul>\r\n        <li><span class=\"bullet\">\u2022<\/span> Mural DTS odporny na promieniowanie UV, wilgo\u0107 i zarysowania.<\/li>\r\n        <li><span class=\"bullet\">\u2022<\/span> Nie blaknie i nie \u0142uszczy si\u0119 \u2013 nie wymaga retuszu ani konserwacji.<\/li>\r\n        <li><span class=\"bullet\">\u2022<\/span> Matowa powierzchnia eliminuje odbicia \u015bwiat\u0142a.<\/li>\r\n      <\/ul>\r\n    <\/div>\r\n\r\n    <div class=\"dts-point\">\r\n      <h3>3. Szybko\u015b\u0107 realizacji \u2013 gotowy w 7 do 10 dni<\/h3>\r\n      <ul>\r\n        <li><span class=\"bullet\">\u2022<\/span> Tradycyjny mural to tygodnie planowania i r\u0119cznej pracy malarskiej.<\/li>\r\n        <li><span class=\"bullet\">\u2022<\/span> DTS: projekt graficzny + przygotowanie pod\u0142o\u017ca + aplikacja = gotowy efekt w 7\u201310 dni roboczych.<\/li>\r\n        <li><span class=\"bullet\">\u2022<\/span> Bez d\u0142ugiego przestoju w u\u017cytkowaniu przestrzeni.<\/li>\r\n      <\/ul>\r\n    <\/div>\r\n  <\/div>\r\n\r\n<\/section>\r\n\r\n<style>\r\n.dts-future-section {\r\n  position: relative;\r\n  width: 100%;\r\n  min-height: 800px;\r\n  background-image: url('https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad8_200x2-_1_-scaled.webp');\r\n  background-size: cover;\r\n  background-position: center;\r\n  background-repeat: no-repeat;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  padding: 180px 40px;\r\n  box-sizing: border-box;\r\n  overflow: hidden;\r\n  font-family: 'Playfair Display', serif;\r\n}\r\n\r\n.dts-future-section::before {\r\n  content: \"\";\r\n  position: absolute;\r\n  inset: 0;\r\n  background: rgba(0,0,0,0.55);\r\n  z-index: 0;\r\n}\r\n\r\n.dts-overlay {\r\n  position: relative;\r\n  max-width: 1200px;\r\n  width: 100%;\r\n  z-index: 1;\r\n  color: #fff;\r\n}\r\n\r\n.dts-section-header {\r\n  font-size: 36px;\r\n  font-weight: 700;\r\n  margin-bottom: 50px;\r\n  text-align: center;\r\n  line-height: 1.2;\r\n}\r\n\r\n.dts-point {\r\n  margin-bottom: 40px;\r\n  padding: 24px 28px;\r\n  border-radius: 10px;\r\n  background: rgba(255,255,255,0.06);\r\n  border: 1px solid rgba(255,255,255,0.15);\r\n  backdrop-filter: blur(6px);\r\n  -webkit-backdrop-filter: blur(6px);\r\n  box-shadow: 0 4px 16px rgba(0,0,0,0.25);\r\n  opacity: 0;\r\n  transform: translateY(30px);\r\n  transition: opacity 0.6s ease-out, transform 0.6s ease-out;\r\n}\r\n\r\n.dts-point.visible {\r\n  opacity: 1;\r\n  transform: translateY(0);\r\n}\r\n\r\n.dts-point h3 {\r\n  position: relative;\r\n  padding-left: 22px;\r\n  margin-bottom: 18px;\r\n  font-size: 26px;\r\n  font-weight: 700;\r\n  color: #FFD47F;\r\n  line-height: 1.3;\r\n}\r\n\r\n.dts-point h3::before {\r\n  content: \"\";\r\n  position: absolute;\r\n  left: 0;\r\n  top: 0;\r\n  width: 5px;\r\n  height: 100%;\r\n  background: #FFD47F;\r\n  border-radius: 4px;\r\n}\r\n\r\n.dts-point ul {\r\n  list-style: none;\r\n  padding-left: 0;\r\n}\r\n\r\n.dts-point li {\r\n  margin-bottom: 10px;\r\n  line-height: 1.7;\r\n  font-size: 18px;\r\n  position: relative;\r\n  padding-left: 20px;\r\n}\r\n\r\n.dts-point li .bullet {\r\n  position: absolute;\r\n  left: 0;\r\n  color: #FFD47F;\r\n  font-weight: bold;\r\n  transition: color 0.3s ease;\r\n}\r\n\r\n.dts-point:hover li .bullet {\r\n  color: #FFA94D;\r\n}\r\n\r\n.dts-point:hover {\r\n  background: rgba(255,255,255,0.09);\r\n  box-shadow: 0 4px 20px rgba(0,0,0,0.3);\r\n  transition: all 0.3s ease;\r\n}\r\n\r\n\/* Tablet \/ ma\u0142e ekrany *\/\r\n@media (max-width: 900px) {\r\n  .dts-future-section {\r\n    padding: 120px 20px;\r\n  }\r\n  .dts-point {\r\n    padding: 20px;\r\n  }\r\n  .dts-section-header {\r\n    font-size: 28px;\r\n  }\r\n  .dts-point h3 {\r\n    padding-left: 18px;\r\n    font-size: 24px;\r\n  }\r\n  .dts-point li {\r\n    font-size: 16px;\r\n  }\r\n}\r\n\r\n\/* MOBILE 480px - absolutnie disable stretch *\/\r\n@media (max-width: 480px) {\r\n  body {\r\n    overflow-x: hidden;\r\n  }\r\n  .dts-future-section {\r\n    padding: 60px 15px !important;\r\n    width: 100% !important;\r\n    max-width: 100% !important;\r\n    left: auto !important;\r\n    margin: 0 auto !important;\r\n    justify-content: center !important;\r\n    background-position: center top;\r\n  }\r\n  .dts-overlay {\r\n    max-width: 100% !important;\r\n    width: 100% !important;\r\n    padding: 0 10px !important;\r\n    margin: 0 auto !important;\r\n    text-align: center;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n  const points = document.querySelectorAll('.dts-point');\r\n  const triggerOffset = window.innerHeight * 0.5;\r\n\r\n  \/\/ Fade-in\r\n  function checkFadeIn() {\r\n    points.forEach((point, index) => {\r\n      const rect = point.getBoundingClientRect();\r\n      if(rect.top < triggerOffset) {\r\n        setTimeout(() => { point.classList.add('visible'); }, index * 300);\r\n      }\r\n    });\r\n  }\r\n  window.addEventListener('scroll', checkFadeIn);\r\n  checkFadeIn();\r\n\r\n  \/\/ Stretch desktop only - wy\u0142\u0105czone absolutnie dla mobile \u2264480px\r\n  if(window.matchMedia(\"(min-width: 481px)\").matches) {\r\n    function stretchDTSSection() {\r\n      const section = document.querySelector('.dts-future-section');\r\n      if (!section) return;\r\n      const parent = section.closest('.elementor-element');\r\n      if (parent) {\r\n        const rect = parent.getBoundingClientRect();\r\n        parent.style.position = 'relative';\r\n        parent.style.left = -rect.left + 'px';\r\n        parent.style.width = window.innerWidth + 'px';\r\n        parent.style.margin = '0';\r\n        parent.style.padding = '0';\r\n      }\r\n      const rectSection = section.getBoundingClientRect();\r\n      section.style.left = -rectSection.left + 'px';\r\n      section.style.width = window.innerWidth + 'px';\r\n    }\r\n    stretchDTSSection();\r\n    window.addEventListener('resize', () => {\r\n      if(window.matchMedia(\"(min-width: 481px)\").matches) {\r\n        stretchDTSSection();\r\n      }\r\n    });\r\n  }\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3133c77 e-con-full e-flex e-con e-parent\" data-id=\"3133c77\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8142a96 elementor-widget elementor-widget-menu-anchor\" data-id=\"8142a96\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"dlakogo\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8220645 elementor-widget elementor-widget-html\" data-id=\"8220645\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"dts-abstract-section\">\r\n  <div class=\"dts-abstract-container\">\r\n\r\n    <!-- LEWA KOLUMNA: obraz g\u00f3rny + lista dolna -->\r\n    <div class=\"dts-block-left\">\r\n      <div class=\"dts-img-wrap left-img-wrap\">\r\n        <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad9_upscaled.webp\"\r\n             alt=\"Obraz DTS przyk\u0142ad 1\"\r\n             class=\"dts-img tilt-left\">\r\n      <\/div>\r\n      <div class=\"dts-text-wrap left-text-wrap\">\r\n        <h3>Dla kogo DTS Mural?<\/h3>\r\n        <ul class=\"dts-points\">\r\n          <li><b>Wn\u0119trza prywatne<\/b> - salon, sypialnia, klatka schodowa - miejsce na grafik\u0119 o wyj\u0105tkowym znaczeniu, np. zdj\u0119cie z podr\u00f3\u017cy, cytat, sztuka cyfrowa.<\/li>\r\n          <li><b>Obiekty komercyjne<\/b> - restauracje, hotele, salony beauty, si\u0142ownie, SPA, gabinety - mural podkre\u015bla styl i charakter przestrzeni, bez ryzyka uszkodzenia i z gwarancj\u0105 jako\u015bci.<\/li>\r\n          <li><b>Biura i przestrzenie pracy<\/b> - personalizowany mural z motywem marki, logo, has\u0142em przewodnim - efektowny i trwa\u0142y branding.<\/li>\r\n          <li><b>Instalacje artystyczne lub wystawiennicze<\/b> - ekspozycje, showroomy, przestrzenie kultury - pe\u0142na dowolno\u015b\u0107 artystyczna i szybka zmiana ekspozycji.<\/li>\r\n        <\/ul>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- PRAWY BLOK: lista g\u00f3rna + obraz dolny -->\r\n    <div class=\"dts-block-right\">\r\n      <div class=\"dts-text-wrap right-text-wrap\">\r\n        <h3>Korzy\u015bci estetyczne i funkcjonalne<\/h3>\r\n        <ul class=\"dts-points\">\r\n          <li><b>Tr\u00f3jwymiarowo\u015b\u0107 i struktura 3D<\/b> - obraz przenosi si\u0119 bezpo\u015brednio na faktur\u0119 \u015bciany lub specjalnej p\u0142yty, kt\u00f3ra mo\u017ce imitowa\u0107 kamie\u0144, beton, tynk lub drewno. To nie wygl\u0105da naturalnie - to wr\u0119cz zaprasza do dotyku.<\/li>\r\n          <li><b>Zmys\u0142owy efekt \u015bwietlny<\/b> - struktura w po\u0142\u0105czeniu z grafik\u0105 reaguje na zmieniaj\u0105ce si\u0119 o\u015bwietlenie wn\u0119trza, daj\u0105c wra\u017cenie, \u017ce mural \"\u017cyje\".<\/li>\r\n          <li><b>Bezramkowy wygl\u0105d<\/b> - forma muralu nie wymaga \u017cadnej oprawy, idealnie wtapia si\u0119 w architektur\u0119 wn\u0119trza, staj\u0105c si\u0119 jego integraln\u0105 cz\u0119\u015bci\u0105.<\/li>\r\n        <\/ul>\r\n      <\/div>\r\n      <div class=\"dts-img-wrap right-img-wrap\">\r\n        <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad9_2_upscaled.webp\"\r\n             alt=\"Obraz DTS przyk\u0142ad 2\"\r\n             class=\"dts-img tilt-right\">\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n\/* --------------------- Podstawowy styl --------------------- *\/\r\n.dts-abstract-section {\r\n  width: 100%;\r\n  padding: 80px 60px;\r\n  background: #f5f5f5;\r\n  display: flex;\r\n  justify-content: center;\r\n  box-sizing: border-box;\r\n  font-family: 'Playfair Display', serif;\r\n}\r\n\r\n.dts-abstract-container {\r\n  max-width: 1300px;\r\n  width: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 60px;\r\n}\r\n\r\n\/* --------------------- Bloki desktop --------------------- *\/\r\n.dts-block-left, .dts-block-right {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  gap: 60px;\r\n}\r\n\r\n\/* --------------------- Tekst --------------------- *\/\r\n.dts-text-wrap {\r\n  flex: 0 0 500px;\r\n  color: #2B2B2B;\r\n  line-height: 1.7;\r\n}\r\n\r\n.dts-text-wrap h3 {\r\n  margin-bottom: 10px;\r\n  font-size: 22px;\r\n  font-weight: 700;\r\n  position: relative;\r\n  padding-left: 24px;\r\n}\r\n\r\n.dts-text-wrap h3::before {\r\n  content: \"\";\r\n  position: absolute;\r\n  left: 0;\r\n  top: 12px;\r\n  width: 14px;\r\n  height: 2px;\r\n  background-color: #C9A86A;\r\n  opacity: 0.8;\r\n}\r\n\r\n\/* --------------------- Listy punktowane --------------------- *\/\r\n.dts-points {\r\n  padding-left: 20px;\r\n  margin: 0;\r\n  list-style: disc;\r\n}\r\n\r\n.dts-points li {\r\n  margin-bottom: 10px; \/* odst\u0119p mi\u0119dzy punktami *\/\r\n  line-height: 1.8;\r\n  font-size: 17px; \/* zwi\u0119kszona czcionka dla lepszej czytelno\u015bci *\/\r\n}\r\n\r\n.dts-points li:last-child {\r\n  margin-bottom: 0;\r\n}\r\n\r\n\/* --------------------- Obrazy --------------------- *\/\r\n.dts-img-wrap {\r\n  flex: 1 1 auto;\r\n  max-width: 500px;\r\n  border-radius: 12px;\r\n  overflow: visible;\r\n  position: relative;\r\n}\r\n\r\n.dts-img {\r\n  width: 100%;\r\n  height: auto;\r\n  object-fit: cover;\r\n  border-radius: 12px;\r\n  transition: transform 0.5s ease, box-shadow 0.5s ease, filter 0.5s ease;\r\n  opacity: 0.7;\r\n  filter: brightness(0.85);\r\n  box-shadow: \r\n    0 4px 6px rgba(0,0,0,0.2);\r\n  display: block;\r\n  z-index: 1;\r\n}\r\n\r\n.tilt-left { transform: rotate(-3deg); }\r\n.tilt-right { transform: rotate(3deg); }\r\n\r\n\/* Po \u201eodpaleniu\u201d scroll \/ IntersectionObserver *\/\r\n.dts-img.settled {\r\n  transform: rotate(0deg);\r\n  opacity: 1;\r\n  filter: brightness(1);\r\n  box-shadow:\r\n    0 6px 8px rgba(0,0,0,0.4),\r\n    0 10px 12px rgba(0,0,0,0.35),\r\n    0 14px 16px rgba(0,0,0,0.3);\r\n}\r\n\r\n\/* Hover: lekki zoom + cie\u0144 mocniejszy *\/\r\n.dts-img.settled:hover {\r\n  transform: scale(1.04) rotate(0deg);\r\n  box-shadow:\r\n    0 8px 12px rgba(0,0,0,0.45),\r\n    0 12px 16px rgba(0,0,0,0.4),\r\n    0 16px 20px rgba(0,0,0,0.35);\r\n}\r\n\r\n\/* --------------------- Responsywno\u015b\u0107 --------------------- *\/\r\n@media (max-width: 900px) {\r\n  .dts-block-left, .dts-block-right {\r\n    flex-direction: column;\r\n    align-items: center;\r\n    gap: 40px;\r\n  }\r\n  .dts-img-wrap { max-width: 100%; }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n  .dts-abstract-section { padding: 30px 15px; }\r\n\r\n  .left-text-wrap { order: 1; margin-bottom: 10px; text-align: center; }\r\n  .left-img-wrap { order: 2; margin-bottom: 50px; }\r\n  .right-text-wrap { order: 3; margin-bottom: 10px; text-align: center; }\r\n  .right-img-wrap { order: 4; margin-bottom: 50px; }\r\n\r\n  .dts-block-left, .dts-block-right {\r\n    width: 100%;\r\n    flex-direction: column;\r\n    gap: 10px;\r\n  }\r\n\r\n  .dts-text-wrap, .dts-img-wrap {\r\n    width: 100%;\r\n    max-width: 100%;\r\n  }\r\n\r\n  \/* Obrazy tak jak desktop - pe\u0142ne, z cieniami, bez radiusa *\/\r\n  .dts-img { \r\n    object-fit: cover;\r\n    width: 100%;\r\n    height: auto;\r\n    display: block;\r\n    border-radius: 0;\r\n    opacity: 0.7;\r\n    filter: brightness(0.85);\r\n    box-shadow:\r\n      0 6px 8px rgba(0,0,0,0.4),\r\n      0 10px 12px rgba(0,0,0,0.35),\r\n      0 14px 16px rgba(0,0,0,0.3);\r\n  }\r\n\r\n  .dts-img.settled:hover {\r\n    transform: scale(1.04) rotate(0deg);\r\n    box-shadow:\r\n      0 8px 12px rgba(0,0,0,0.45),\r\n      0 12px 16px rgba(0,0,0,0.4),\r\n      0 16px 20px rgba(0,0,0,0.35);\r\n  }\r\n}\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n  const images = document.querySelectorAll('.dts-img');\r\n\r\n  function settleImage(img) {\r\n    img.classList.add('settled');\r\n  }\r\n\r\n  const observer = new IntersectionObserver((entries, obs) => {\r\n    entries.forEach(entry => {\r\n      if (entry.isIntersecting) {\r\n        settleImage(entry.target);\r\n        obs.unobserve(entry.target);\r\n      }\r\n    });\r\n  }, { threshold: 0.5 });\r\n\r\n  images.forEach(img => observer.observe(img));\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8e5d8de e-con-full e-flex e-con e-parent\" data-id=\"8e5d8de\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a5cb7d1 elementor-widget elementor-widget-menu-anchor\" data-id=\"a5cb7d1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"realizacja\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d0f0a44 elementor-widget elementor-widget-html\" data-id=\"d0f0a44\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Sekcja 1: Realizacja murali -->\r\n<div class=\"section-offer section-odd\">\r\n  <div class=\"offer-wrapper\">\r\n    <!-- Lewa kolumna -->\r\n    <div class=\"offer-left\">\r\n      <div class=\"offer-header\">\r\n        <b>OFERTA REALIZACJI MURALI W TECHNOLOGII DTS - 50 m\u00b2<\/b>\r\n        <i>Innowacyjny mural strukturalny - trwa\u0142o\u015b\u0107, estetyka, precyzja<\/i>\r\n      <\/div>\r\n\r\n      <div class=\"offer-steps\">\r\n        <div class=\"offer-step\" data-step=\"1\">\r\n          <div class=\"step-content\">\r\n            <b><span class=\"step-number\">1.<\/span> Konsultacja i przygotowanie projektu graficznego<\/b>\r\n            <ul>\r\n              <li>Spotkanie lub rozmowa online w celu om\u00f3wienia koncepcji, oczekiwa\u0144, stylu.<\/li>\r\n              <li>Dob\u00f3r grafiki: autorski projekt, grafika z katalogu lub materia\u0142 Klienta.<\/li>\r\n              <li>Mo\u017cliwo\u015b\u0107 wprowadzenia poprawek i wizualizacja ko\u0144cowego efektu na makiecie 3D.<\/li>\r\n              <li>Dopasowanie projektu do konkretnego pod\u0142o\u017ca i warunk\u00f3w \u015bwietlnych w miejscu ekspozycji.<\/li>\r\n            <\/ul>\r\n            <div class=\"step-duration\">Czas trwania: 2-5 dni roboczych<\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"offer-step\" data-step=\"2\">\r\n          <div class=\"step-content\">\r\n            <b><span class=\"step-number\">2.<\/span> Przygotowanie powierzchni (\u015bciana\/p\u0142yta)<\/b>\r\n            <ul>\r\n              <li>Oczyszczenie, wyr\u00f3wnanie, gruntowanie powierzchni pod aplikacj\u0119 DTS.<\/li>\r\n              <li>Mo\u017cliwo\u015b\u0107 wykorzystania paneli kompozytowych, drewnianych lub betonowych jako no\u015bnika - do ustalenia w zale\u017cno\u015bci od miejsca monta\u017cu.<\/li>\r\n            <\/ul>\r\n            <div class=\"step-duration\">Czas trwania: 1-2 dni robocze<\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"offer-step\" data-step=\"3\">\r\n          <div class=\"step-content\">\r\n            <b><span class=\"step-number\">3.<\/span> Wydruk DTS<\/b>\r\n            <ul>\r\n              <li>Wysokiej jako\u015bci bezpo\u015bredni druk metod\u0105 \"na zimno\" na strukturalnej powierzchni (imitacja tynku, betonu, drewna lub p\u0142\u00f3tna).<\/li>\r\n              <li>Efekt g\u0142\u0119bi i faktury 3D, bez laminatu i odb\u0142ysk\u00f3w.<\/li>\r\n              <li>Odporno\u015b\u0107 na promieniowanie UV, wilgo\u0107 i zarysowania.<\/li>\r\n              <li>Format i podzia\u0142 modu\u0142\u00f3w dopasowany do monta\u017cu.<\/li>\r\n            <\/ul>\r\n            <div class=\"step-duration\">Czas realizacji: 2-5 dni roboczych<\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"offer-step\" data-step=\"4\">\r\n          <div class=\"step-content\">\r\n            <b><span class=\"step-number\">4.<\/span> Transport i monta\u017c<\/b>\r\n            <ul>\r\n              <li>Bezpieczny transport gotowych paneli.<\/li>\r\n              <li>Monta\u017c na przygotowanej powierzchni (klejenie lub mocowanie systemowe).<\/li>\r\n              <li>Ko\u0144cowa korekta detali i inspekcja techniczna.<\/li>\r\n            <\/ul>\r\n            <div class=\"step-duration\">Czas monta\u017cu: 1-2 dni robocze<\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"offer-cta\">\r\n        <b>Stw\u00f3rz sw\u00f3j unikalny mural DTS! Um\u00f3w si\u0119 na konsultacj\u0119 ju\u017c dzi\u015b!<\/b>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Prawa kolumna (obrazy) -->\r\n    <div class=\"offer-right\">\r\n      <div class=\"offer-img-wrapper\">\r\n        <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad10_upscaled_compress.webp\" class=\"offer-img img-top\">\r\n      <\/div>\r\n      <div class=\"offer-img-wrapper\">\r\n        <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad10_2_upscaled_compress.webp\" class=\"offer-img img-bottom\">\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- Sekcja 2: Korzy\u015bci i zastosowanie murali w hotelu -->\r\n<div class=\"section-offer section-even\">\r\n  <div class=\"offer-wrapper\">\r\n    <!-- Lewa kolumna -->\r\n    <div class=\"offer-left\">\r\n      <div class=\"offer-header\">\r\n        <b>Korzy\u015bci i zastosowanie murali strukturalnych w hotelu<\/b>\r\n        <i>Tw\u00f3rz wyj\u0105tkowe wn\u0119trza w recepcji, restauracji, pokojach i salach konferencyjnych<\/i>\r\n      <\/div>\r\n\r\n      <div class=\"offer-steps\">\r\n        <div class=\"offer-step\">\r\n          <div class=\"step-content\">\r\n            <b><span class=\"step-number\">1.<\/span> Hol i recepcja<\/b>\r\n            <ul>\r\n              <li>Propozycje: grafiki regionalne, minimalistyczne krajobrazy, abstrakcje dopasowane do stylu wn\u0119trza.<\/li>\r\n              <li>Efekt: elegancja, profesjonalizm i pierwsze wra\u017cenie klasy premium dla go\u015bci.<\/li>\r\n              <li>Korzy\u015bci: mural mo\u017ce by\u0107 centralnym punktem recepcji, wprowadzaj\u0105c sp\u00f3jny charakter przestrzeni.<\/li>\r\n            <\/ul>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"offer-step\">\r\n          <div class=\"step-content\">\r\n            <b><span class=\"step-number\">2.<\/span> Restauracja i przestrze\u0144 \u015bniadaniowa<\/b>\r\n            <ul>\r\n              <li>Propozycje: kompozycje kulinarne, produkty lokalne, subtelne ilustracje podkre\u015blaj\u0105ce charakter potraw.<\/li>\r\n              <li>Efekt: przytulno\u015b\u0107 i wyj\u0105tkowy klimat, kt\u00f3ry zach\u0119ca do pozostania i powrotu.<\/li>\r\n              <li>Korzy\u015bci: mural w restauracji mo\u017ce pe\u0142ni\u0107 funkcj\u0119 narracyjn\u0105, opowiadaj\u0105c histori\u0119 marki lub regionu.<\/li>\r\n            <\/ul>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"offer-step\">\r\n          <div class=\"step-content\">\r\n            <b><span class=\"step-number\">3.<\/span> Pokoje hotelowe<\/b>\r\n            <ul>\r\n              <li>Propozycje: pejza\u017ce, motywy natury, ilustracje tematyczne dopasowane do charakteru pokoju.<\/li>\r\n              <li>Efekt: wy\u017cszy komfort go\u015bcia i poczucie sp\u00f3jno\u015bci aran\u017cacji.<\/li>\r\n              <li>Korzy\u015bci: mural tworzy unikaln\u0105 atmosfer\u0119 w pokoju, wzmacniaj\u0105c wra\u017cenia wizualne i emocjonalne.<\/li>\r\n            <\/ul>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"offer-step\">\r\n          <div class=\"step-content\">\r\n            <b><span class=\"step-number\">4.<\/span> Sale konferencyjne<\/b>\r\n            <ul>\r\n              <li>Propozycje: grafiki motywacyjne, abstrakcje, detale architektoniczne w sp\u00f3jnej kolorystyce z brandingiem.<\/li>\r\n              <li>Efekt: nowoczesno\u015b\u0107 i presti\u017c, tworzenie inspiruj\u0105cej przestrzeni do pracy.<\/li>\r\n              <li>Korzy\u015bci: mural w sali konferencyjnej podkre\u015bla profesjonalizm, zach\u0119ca do kreatywno\u015bci i koncentracji.<\/li>\r\n            <\/ul>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"offer-cta large-cta\">\r\n        <b>Sprawd\u017a, jak mural strukturalny mo\u017ce odmieni\u0107 Tw\u00f3j pok\u00f3j!<\/b>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Prawa kolumna -->\r\n    <div class=\"offer-right\">\r\n      <div class=\"offer-img-wrapper\">\r\n        <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad11_upscaled.webp\" class=\"offer-img img-top-even\">\r\n      <\/div>\r\n      <div class=\"offer-img-wrapper\">\r\n        <img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad11_2_upscaled.webp\" class=\"offer-img img-bottom-even\">\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n.section-offer {\r\n  padding: 80px 60px;\r\n  background: #f5f5f5;\r\n  font-family: 'Roboto', sans-serif;\r\n}\r\n\r\n.offer-wrapper {\r\n  display: flex;\r\n  gap: 80px;\r\n  max-width: 1300px;\r\n  margin: 0 auto;\r\n}\r\n\r\n.offer-left {\r\n  flex: 0 0 700px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 40px;\r\n}\r\n\r\n.offer-header b {\r\n  font-size: 22px;\r\n  font-family: 'Playfair Display', serif;\r\n}\r\n\r\n.offer-header i {\r\n  font-size: 16px;\r\n  color: #555;\r\n}\r\n\r\n\/* KROKI *\/\r\n.offer-step {\r\n  opacity: 0;\r\n  transform: translateY(30px);\r\n  transition: all .8s ease;\r\n  background: #fff;\r\n  padding: 20px;\r\n  border-radius: 14px;\r\n  box-shadow: 0 10px 30px rgba(0,0,0,.07);\r\n}\r\n\r\n.offer-step.active {\r\n  opacity: 1;\r\n  transform: translateY(0);\r\n}\r\n\r\n\/* CTA *\/\r\n.offer-cta {\r\n  background: linear-gradient(135deg,#c9a86a,#e0b36a);\r\n  padding: 18px;\r\n  color: #fff;\r\n  text-align: center;\r\n  border-radius: 14px;\r\n}\r\n\r\n\/* PRAWA KOLUMNA *\/\r\n.offer-right {\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 50px;\r\n  margin-top: 105px;\r\n}\r\n\r\n\/* \u26d4 UKRYTA RAMKA NA START *\/\r\n.offer-img-wrapper {\r\n  opacity: 0;\r\n  transform: translateY(40px) scale(0.9);\r\n  transition:\r\n    opacity .6s ease 0.15s,\r\n    transform .6s ease 0.15s;\r\n  border-radius: 12px;\r\n  overflow: hidden;\r\n  max-width: 320px;\r\n  box-shadow:\r\n    0 6px 8px rgba(0,0,0,0.4),\r\n    0 10px 12px rgba(0,0,0,0.35),\r\n    0 14px 16px rgba(0,0,0,0.3);\r\n}\r\n\r\n\/* OBRAZ *\/\r\n.offer-img {\r\n  width: 100%;\r\n  display: block;\r\n  opacity: 0;\r\n  transform: translateY(40px) scale(0.9);\r\n  transition: all .9s ease;\r\n}\r\n\r\n\/* IMG WCHODZI *\/\r\n.offer-img.visible {\r\n  opacity: 1;\r\n  transform: translateY(0) scale(1);\r\n}\r\n\r\n\/* \u2705 RAMKA POJAWIA SI\u0118 RAZEM Z OBRAZEM *\/\r\n.offer-img-wrapper:has(.offer-img.visible) {\r\n  opacity: 1;\r\n  transform: translateY(0) scale(1);\r\n}\r\n\r\n\/* Naprzemienne u\u0142o\u017cenie obrazk\u00f3w *\/\r\n.img-top-even { align-self: flex-start; }\r\n.img-bottom-even { align-self: flex-end; }\r\n\r\n\/* Responsywno\u015b\u0107 *\/\r\n@media(max-width: 900px) {\r\n  .offer-wrapper { flex-direction: column; }\r\n  .offer-right { order: 1 !important; }\r\n  .offer-img-wrapper { width: 100%; height: auto; }\r\n  .offer-img { height: auto; }\r\n}\r\n\r\n@media(max-width: 480px) {\r\n  .offer-step {\r\n    max-height: none;\r\n    height: auto;\r\n    padding: 20px 16px;\r\n  }\r\n  \r\n  .offer-step ul {\r\n    padding-left: 16px;\r\n  }\r\n  \r\n  .offer-step li {\r\n      font-size: 14px;\r\n      line-height: 1.5;\r\n  }\r\n}\r\n\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n  const steps = document.querySelectorAll(\".offer-step\");\r\n  const imgs = document.querySelectorAll(\".offer-img\");\r\n  const ctas = document.querySelectorAll(\".offer-cta\");\r\n\r\n  function reveal() {\r\n    const trigger = window.innerHeight * 0.85;\r\n\r\n    \/\/ Anim krok\u00f3w\r\n    steps.forEach(step => {\r\n      if(step.getBoundingClientRect().top < trigger){\r\n        step.classList.add(\"active\");\r\n      }\r\n    });\r\n\r\n    \/\/ Anim obraz\u00f3w\r\n    imgs.forEach(img => {\r\n      if(img.getBoundingClientRect().top < trigger){\r\n        img.classList.add(\"visible\");\r\n      }\r\n    });\r\n\r\n    \/\/ hover CTA\r\n    ctas.forEach(cta => {\r\n      if(cta.getBoundingClientRect().top < trigger && !cta.dataset.hovered) {\r\n        cta.dataset.hovered = true;\r\n        setTimeout(() => {\r\n          cta.classList.add(\"hover-effect\");\r\n          setTimeout(() => {\r\n            cta.classList.remove(\"hover-effect\");\r\n          }, 4000); \r\n        }, 500); \r\n      }\r\n    });\r\n  }\r\n\r\n  window.addEventListener(\"scroll\", reveal);\r\n  reveal();\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0f3b3bf e-con-full e-flex e-con e-parent\" data-id=\"0f3b3bf\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f2fb8e4 elementor-widget elementor-widget-menu-anchor\" data-id=\"f2fb8e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"wizualizacja\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2adc5c9 elementor-widget elementor-widget-html\" data-id=\"2adc5c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* --- WID\u017bET --- *\/\r\n.vw-visualizer-widget {\r\n    max-width: 1100px;\r\n    margin: 40px auto;\r\n    padding: 20px;\r\n    text-align: center;\r\n    font-family: 'Playfair Display', serif;\r\n    position: relative;\r\n    z-index: 1;\r\n    background: none;\r\n}\r\n\r\n.vw-visualizer-header {\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    gap: 10px;\r\n    margin-bottom: 25px;\r\n}\r\n\r\n.vw-widget-title,\r\n.vw-widget-instructions {\r\n    display: inline-block;\r\n    padding: 10px 20px;\r\n    border-radius: 12px;\r\n    text-align: center;\r\n    max-width: 95%;\r\n}\r\n\r\n.vw-widget-title {\r\n    font-size: 32px;\r\n    font-weight: 700;\r\n    color: #fff;\r\n    background: rgba(0,0,0,0.55);\r\n}\r\n\r\n.vw-widget-instructions {\r\n    font-size: 16px;\r\n    color: #fff;\r\n    background: rgba(0,0,0,0.45);\r\n}\r\n\r\n\/* --- CANVAS --- *\/\r\n.vw-canvas-container {\r\n    position: relative;\r\n    max-width: 1000px;\r\n    min-height: 600px;\r\n    margin: 0 auto;\r\n    user-select: none;\r\n    -webkit-user-drag: none;\r\n    border-radius: 12px;\r\n    overflow: hidden;\r\n    box-shadow:\r\n        24px 30px 40px rgba(0,0,0,0.65),\r\n        0 8px 10px rgba(0,0,0,0.35);\r\n}\r\n\r\n.vw-background-img {\r\n    display: block;\r\n    width: 100%;\r\n    height: auto;\r\n    margin: 0 auto;\r\n    position: relative;\r\n    z-index: 1;\r\n    border-radius: 12px;\r\n    box-shadow:\r\n        0 6px 8px rgba(0,0,0,0.4),\r\n        0 10px 12px rgba(0,0,0,0.35),\r\n        0 14px 16px rgba(0,0,0,0.3);\r\n    transition: opacity 0.5s ease;\r\n    opacity: 1;\r\n}\r\n\r\n.vw-frame {\r\n    position: absolute;\r\n    overflow: visible;\r\n    pointer-events: none;\r\n    z-index: 2;\r\n}\r\n\r\n.vw-user-bg {\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.75);\r\n    transition: opacity 0.4s ease, background-color 0.4s ease;\r\n    opacity: 0;\r\n    background-size: cover;\r\n    background-position: center;\r\n    background-color: rgba(0,0,0,0); \/* pocz\u0105tkowo brak przyciemnienia *\/\r\n}\r\n\r\n.vw-user-bg::after {\r\n    content: \"\";\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    background-image: url('https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/teksturav3.png');\r\n    background-size: cover;\r\n    background-position: center;\r\n    pointer-events: none;\r\n    mix-blend-mode: overlay;\r\n    filter: brightness(85%);\r\n}\r\n\r\n\/* --- KONTROLKI --- *\/\r\n.vw-controls {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    gap: 10px;\r\n    margin-top: 25px;\r\n    flex-wrap: wrap;\r\n}\r\n\r\n.vw-controls input[type=\"file\"],\r\n.vw-controls button,\r\n.vw-controls select {\r\n    cursor: pointer;\r\n    padding: 12px 22px;\r\n    border-radius: 8px;\r\n    border: 1px solid #ccc;\r\n    font-size: 15px;\r\n    font-weight: 500;\r\n    color: #333;\r\n    transition: all 0.25s ease;\r\n    background-color: #f7f7f7;\r\n}\r\n\r\n.vw-controls input[type=\"file\"]:hover,\r\n.vw-controls button:hover,\r\n.vw-controls select:hover {\r\n    background-color: #eaeaea;\r\n    box-shadow: 0 4px 12px rgba(0,0,0,0.15);\r\n}\r\n\r\n.vw-controls button {\r\n    background-color: #fff;\r\n}\r\n\r\n\/* Adnotacja wizualizacji *\/\r\n.vw-note {\r\n    font-size: 14px;\r\n    color: #fff;\r\n    max-width: 95%;\r\n    text-align: center;\r\n    margin: 12px auto 0 auto;\r\n    padding: 6px 12px;\r\n    border-radius: 8px;\r\n    background: rgba(0,0,0,0.55);\r\n}\r\n.vw-note span {\r\n    color: #f25c00;\r\n    font-weight: 700;\r\n}\r\n\r\n\/* --- MOBILKI --- *\/\r\n@media (max-width: 480px) {\r\n    .vw-canvas-container {\r\n        min-height: auto;\r\n        height: auto;\r\n        background-color: transparent;\r\n        border-radius: 12px;\r\n        box-shadow: 0 4px 10px rgba(0,0,0,0.25);\r\n    }\r\n\r\n    .vw-background-img {\r\n        width: 100%;\r\n        height: auto;\r\n        border-radius: 12px;\r\n        box-shadow:\r\n            0 4px 8px rgba(0,0,0,0.35),\r\n            0 6px 10px rgba(0,0,0,0.3);\r\n    }\r\n\r\n    .vw-widget-title { font-size: 24px; padding: 8px 16px; }\r\n    .vw-widget-instructions { font-size: 13px; padding: 6px 12px; }\r\n}\r\n<\/style>\r\n\r\n<div class=\"vw-visualizer-widget\">\r\n    <div class=\"vw-visualizer-header\">\r\n        <h2 class=\"vw-widget-title\">Wizualizator<\/h2>\r\n        <p class=\"vw-widget-instructions\">\r\n            Kliknij \"Wybierz plik\", aby doda\u0107 w\u0142asny obraz lub wybierz t\u0142o.\r\n        <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"vw-canvas-container\">\r\n        <img decoding=\"async\" class=\"vw-background-img\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2026\/01\/Salon.png\" alt=\"Background\">\r\n        <div class=\"vw-frame\">\r\n            <div class=\"vw-user-bg\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"vw-controls\">\r\n        <input id=\"vw-upload\" type=\"file\" accept=\"image\/*\">\r\n        <button id=\"vw-reset\" type=\"button\">Resetuj obraz<\/button>\r\n        <select id=\"vw-preload\">\r\n            <option value=\"\" disabled hidden>-- Wybierz t\u0142o --<\/option>\r\n            <option value=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2026\/01\/Salon.png\" selected>T\u0142o 1: Salon<\/option>\r\n            <option value=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2026\/01\/biurov2.png\">T\u0142o 2: Biuro<\/option>\r\n        <\/select>\r\n    <\/div>\r\n\r\n    <p class=\"vw-note\">\r\n        \u26a0\ufe0f To jest pogl\u0105dowa wizualizacja. \r\n        <span>Skontaktuj si\u0119 z nami<\/span>, aby uzyska\u0107 finaln\u0105, profesjonaln\u0105 realizacj\u0119.\r\n    <\/p>\r\n<\/div>\r\n\r\n<script>\r\n(() => {\r\nconst vwUpload = document.getElementById('vw-upload');\r\nconst vwReset = document.getElementById('vw-reset');\r\nconst vwPreload = document.getElementById('vw-preload');\r\nconst vwUserBg = document.querySelector('.vw-frame .vw-user-bg');\r\nconst vwFrame = document.querySelector('.vw-frame');\r\nconst vwBgImg = document.querySelector('.vw-background-img');\r\n\r\nlet vwImgNaturalW = 0;\r\nlet vwImgNaturalH = 0;\r\nlet vwImgSrc = '';\r\n\r\nconst vwFramePercent = {\r\n    left: 580 \/ 1536,\r\n    top: 91 \/ 1024,\r\n    width: (1000 - 549 + 6) \/ 1536,\r\n    height: (542 - 91 + 2) \/ 1024\r\n};\r\n\r\nfunction vwUpdateFrame() {\r\n    const bgWidth = vwBgImg.clientWidth;\r\n    const bgHeight = vwBgImg.clientHeight;\r\n\r\n    vwFrame.style.width = `${vwFramePercent.width * bgWidth}px`;\r\n    vwFrame.style.height = `${vwFramePercent.height * bgHeight}px`;\r\n    vwFrame.style.left = `${vwFramePercent.left * bgWidth}px`;\r\n    vwFrame.style.top = `${vwFramePercent.top * bgHeight}px`;\r\n}\r\n\r\nfunction vwUpdateBackground() {\r\n    if (!vwImgSrc) {\r\n        vwUserBg.style.opacity = 0;\r\n        vwUserBg.style.backgroundImage = '';\r\n        return;\r\n    }\r\n\r\n    const frameW = vwFrame.clientWidth;\r\n    const frameH = vwFrame.clientHeight;\r\n    const scale = Math.min(frameW \/ vwImgNaturalW, frameH \/ vwImgNaturalH);\r\n    const imgW = vwImgNaturalW * scale;\r\n    const imgH = vwImgNaturalH * scale;\r\n\r\n    vwUserBg.style.width = `${imgW}px`;\r\n    vwUserBg.style.height = `${imgH}px`;\r\n    vwUserBg.style.left = `${(frameW - imgW) \/ 2}px`;\r\n    vwUserBg.style.top = `${(frameH - imgH) \/ 2}px`;\r\n    vwUserBg.style.backgroundImage = `url('${vwImgSrc}')`;\r\n\r\n    \/\/ fade-in + efekt przyciemnienia\r\n    vwUserBg.style.opacity = 1;\r\n    vwUserBg.style.backgroundColor = 'rgba(0,0,0,0.15)';\r\n}\r\n\r\n\/\/ \ud83d\udd39 Wgrywanie obrazu u\u017cytkownika z animacj\u0105 fade i przyciemnieniem\r\nvwUpload.addEventListener('change', e => {\r\n    const file = e.target.files[0];\r\n    if (!file) return;\r\n\r\n    const newSrc = URL.createObjectURL(file);\r\n\r\n    \/\/ fade-out starego obrazu\r\n    vwUserBg.style.opacity = 0;\r\n    vwUserBg.style.backgroundColor = 'rgba(0,0,0,0)';\r\n\r\n    setTimeout(() => {\r\n        const img = new Image();\r\n        img.onload = () => {\r\n            vwImgNaturalW = img.width;\r\n            vwImgNaturalH = img.height;\r\n            vwImgSrc = newSrc;\r\n            vwUpdateBackground(); \/\/ fade-in z przyciemnieniem\r\n            vwPreload.value = \"\";\r\n        };\r\n        img.src = newSrc;\r\n    }, 200);\r\n});\r\n\r\n\/\/ \ud83d\udd39 Resetowanie obrazu u\u017cytkownika\r\nvwReset.addEventListener('click', () => {\r\n    vwImgSrc = '';\r\n    vwImgNaturalW = 0;\r\n    vwImgNaturalH = 0;\r\n    vwUserBg.style.opacity = 0;\r\n    vwUserBg.style.backgroundImage = '';\r\n    vwUserBg.style.backgroundColor = 'rgba(0,0,0,0)';\r\n    vwUpload.value = '';\r\n});\r\n\r\n\/\/ \ud83d\udd39 Wyb\u00f3r t\u0142a z selecta z p\u0142ynnym przej\u015bciem\r\nvwPreload.addEventListener('change', e => {\r\n    const val = e.target.value;\r\n    if (!val) return;\r\n\r\n    vwBgImg.style.opacity = 0;\r\n    setTimeout(() => {\r\n        vwBgImg.src = val;\r\n    }, 200);\r\n});\r\n\r\n\/\/ \ud83d\udd39 Po za\u0142adowaniu nowego t\u0142a fade-in\r\nvwBgImg.addEventListener('load', () => {\r\n    vwBgImg.style.opacity = 1;\r\n    vwUpdateFrame();\r\n    vwUpdateBackground();\r\n});\r\n\r\n\/\/ \ud83d\udd39 Reakcja na zmian\u0119 rozmiaru okna\r\nwindow.addEventListener('resize', () => {\r\n    vwUpdateFrame();\r\n    vwUpdateBackground();\r\n});\r\n\r\n\/\/ inicjalizacja\r\nvwBgImg.onload = () => {\r\n    vwUpdateFrame();\r\n    vwUpdateBackground();\r\n};\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6fdcd16 e-con-full e-flex e-con e-parent\" data-id=\"6fdcd16\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2f97eb7 elementor-widget elementor-widget-menu-anchor\" data-id=\"2f97eb7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"galeria\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-586a663 elementor-widget elementor-widget-html\" data-id=\"586a663\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Sekcja Galerii -->\r\n<section class=\"custom-gallery-section\">\r\n  <div class=\"gallery-background-overlay\"><\/div>\r\n\r\n  <!-- Nag\u0142\u00f3wek -->\r\n  <div class=\"gallery-header\">\r\n    <h2 class=\"gallery-title\">Galeria Zdj\u0119\u0107<\/h2>\r\n    <p class=\"gallery-subtitle\">Zobacz nasze realizacje i inspiracje produkt\u00f3w<\/p>\r\n  <\/div>\r\n\r\n  <!-- Masonry Gallery -->\r\n  <div class=\"masonry-gallery\">\r\n    <div class=\"masonry-item fade-in\"><img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad11_2_upscaled.webp\" alt=\"Opis 1\"><\/div>\r\n    <div class=\"masonry-item fade-in\"><img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad10_upscaled_compress.webp\" alt=\"Opis 2\"><\/div>\r\n    <div class=\"masonry-item fade-in\"><img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad9_upscaled.webp\" alt=\"Opis 3\"><\/div>\r\n    <div class=\"masonry-item fade-in\"><img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad9_2_upscaled.webp\" alt=\"Opis 4\"><\/div>\r\n    <div class=\"masonry-item fade-in\"><img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad8_200x2-_1_-scaled.webp\" alt=\"Opis 5\"><\/div>\r\n    <div class=\"masonry-item fade-in\"><img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/11\/przyklad.png\" alt=\"Opis 6\"><\/div>\r\n    <div class=\"masonry-item fade-in\"><img decoding=\"async\" src=\"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/11\/przyklad3.png\" alt=\"Opis 7\"><\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- Lightbox -->\r\n<div id=\"lightbox-overlay\" style=\"display:none;\">\r\n  <span id=\"lightbox-close\">&times;<\/span>\r\n  <div class=\"lightbox-content\">\r\n    <img decoding=\"async\" id=\"lightbox-img\" src=\"\" alt=\"\">\r\n    <div class=\"lightbox-thumbnails\"><\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n.custom-gallery-section { max-width:1200px; margin:0 auto; padding:50px 20px; text-align:center; position:relative; border-radius:12px; overflow:hidden;}\r\n.gallery-background-overlay { position:absolute; top:-50px; left:-50px; width:calc(100% + 100px); height:calc(100% + 100px); background:rgba(0,0,0,0.08); pointer-events:none; z-index:1; border-radius:12px;}\r\n.gallery-header { position:relative; z-index:2; display:inline-block; padding:20px 40px; background-color:rgba(0,0,0,0.55); border-radius:12px; margin-bottom:40px; color:#e8e6e3;}\r\n.gallery-title { font-size:2.5rem; margin:0 0 10px 0; }\r\n.gallery-subtitle { font-size:1rem; margin:0; }\r\n.masonry-gallery { column-count:3; column-gap:15px; position:relative; z-index:2; }\r\n.masonry-item { break-inside:avoid; margin-bottom:15px; opacity:0; transform:translateY(30px); transition: all 0.6s ease-out; border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,0.15);}\r\n.masonry-item img { width:100%; display:block; border-radius:8px; cursor:pointer; transition:transform 0.3s ease;}\r\n.masonry-item img:hover { transform:scale(1.05);}\r\n.fade-in.show { opacity:1; transform:translateY(0);}\r\n#lightbox-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.85); display:flex; justify-content:center; align-items:center; z-index:9999; flex-direction:column; }\r\n.lightbox-content { position:relative; display:flex; flex-direction:column; align-items:center;}\r\n#lightbox-img { max-width:90%; max-height:70vh; border-radius:8px; margin-bottom:15px; }\r\n#lightbox-close { position:absolute; color:white; font-size:2.5rem; cursor:pointer; user-select:none; top:20px; right:30px;}\r\n.lightbox-thumbnails { display:flex; gap:10px; overflow-x:auto; padding:5px 0;}\r\n.lightbox-thumbnails img { width:60px; height:40px; object-fit:cover; cursor:pointer; opacity:0.6; border-radius:4px; transition:opacity 0.3s ease;}\r\n.lightbox-thumbnails img.active, .lightbox-thumbnails img:hover { opacity:1; border:2px solid white;}\r\nbody.lightbox-open {\r\n      overflow: hidden;\r\n      touch-action: none;\r\n    }\r\n@media(max-width:1024px){.masonry-gallery{column-count:2;}}\r\n@media(max-width:600px){.masonry-gallery{column-count:1;}}\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n\r\n  \/* =========================\r\n     FADE-IN (mobile + desktop)\r\n  ========================== *\/\r\n  const faders = document.querySelectorAll('.fade-in');\r\n  const observer = new IntersectionObserver((entries, obs) => {\r\n    entries.forEach(entry => {\r\n      if (entry.isIntersecting) {\r\n        entry.target.classList.add('show');\r\n        obs.unobserve(entry.target);\r\n      }\r\n    });\r\n  }, { threshold: 0.1, rootMargin: \"0px 0px -50px 0px\" });\r\n\r\n  faders.forEach(f => observer.observe(f));\r\n\r\n  \/* =========================\r\n     LIGHTBOX SETUP\r\n  ========================== *\/\r\n  const galleryUrls = [\r\n    \"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad11_2_upscaled.webp\",\r\n    \"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad10_upscaled_compress.webp\",\r\n    \"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad9_upscaled.webp\",\r\n    \"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad9_2_upscaled.webp\",\r\n    \"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/12\/przyklad8_200x2-_1_-scaled.webp\",\r\n    \"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/11\/przyklad.png\",\r\n    \"https:\/\/obrazy.adozet.com\/www\/wp-content\/uploads\/2025\/11\/przyklad3.png\"\r\n  ];\r\n\r\n  const overlay = document.getElementById('lightbox-overlay');\r\n  const img = document.getElementById('lightbox-img');\r\n  const closeBtn = document.getElementById('lightbox-close');\r\n  const thumbsContainer = document.querySelector('.lightbox-thumbnails');\r\n\r\n  let current = 0;\r\n  let startX = 0;\r\n  let currentX = 0;\r\n  let dragging = false;\r\n\r\n  \/* =========================\r\n     MINIATURKI\r\n  ========================== *\/\r\n  galleryUrls.forEach((url, i) => {\r\n    const t = document.createElement('img');\r\n    t.src = url;\r\n    t.addEventListener('click', () => show(i));\r\n    thumbsContainer.appendChild(t);\r\n  });\r\n  const thumbs = thumbsContainer.querySelectorAll('img');\r\n\r\n  function show(index) {\r\n    current = index;\r\n    img.style.transition = 'opacity .25s ease';\r\n    img.style.opacity = 0;\r\n\r\n    setTimeout(() => {\r\n      img.src = galleryUrls[current];\r\n      img.style.opacity = 1;\r\n    }, 150);\r\n\r\n    thumbs.forEach((t, i) => t.classList.toggle('active', i === index));\r\n  }\r\n\r\n    function open(index) {\r\n      overlay.style.display = 'flex';\r\n      document.body.classList.add('lightbox-open');\r\n      show(index);\r\n    }\r\n    \r\n    function close() {\r\n      overlay.style.display = 'none';\r\n      document.body.classList.remove('lightbox-open');\r\n    }\r\n\r\n  \/* =========================\r\n     GALERIA \u2192 LIGHTBOX\r\n  ========================== *\/\r\n  document.querySelectorAll('.masonry-item img').forEach((el, i) => {\r\n    el.addEventListener('click', () => open(i));\r\n  });\r\n\r\n  closeBtn.addEventListener('click', close);\r\n  overlay.addEventListener('click', e => {\r\n    if (e.target === overlay) close();\r\n  });\r\n\r\n  \/* =========================\r\n     SWIPE (MOBILE \u2013 P\u0141YNNY)\r\n  ========================== *\/\r\n  img.addEventListener('touchstart', e => {\r\n    startX = e.touches[0].clientX;\r\n    dragging = true;\r\n    img.style.transition = 'none';\r\n  });\r\n\r\n  img.addEventListener('touchmove', e => {\r\n    if (!dragging) return;\r\n    currentX = e.touches[0].clientX - startX;\r\n    img.style.transform = `translateX(${currentX}px)`;\r\n  });\r\n\r\n  img.addEventListener('touchend', () => {\r\n    dragging = false;\r\n    img.style.transition = 'transform .35s ease';\r\n\r\n    if (currentX > 80) {\r\n      show((current - 1 + galleryUrls.length) % galleryUrls.length);\r\n    } else if (currentX < -80) {\r\n      show((current + 1) % galleryUrls.length);\r\n    }\r\n\r\n    img.style.transform = 'translateX(0)';\r\n    currentX = 0;\r\n  });\r\n\r\n  \/* =========================\r\n     DESKTOP: STRZA\u0141KI + KLAWIATURA\r\n  ========================== *\/\r\n  function isDesktop() {\r\n    return window.innerWidth >= 768;\r\n  }\r\n\r\n  document.addEventListener('keydown', e => {\r\n    if (overlay.style.display !== 'flex' || !isDesktop()) return;\r\n\r\n    if (e.key === 'ArrowRight') {\r\n      show((current + 1) % galleryUrls.length);\r\n    }\r\n    if (e.key === 'ArrowLeft') {\r\n      show((current - 1 + galleryUrls.length) % galleryUrls.length);\r\n    }\r\n    if (e.key === 'Escape') close();\r\n  });\r\n\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6c4475a e-con-full e-flex e-con e-parent\" data-id=\"6c4475a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9375240 elementor-widget elementor-widget-shortcode\" data-id=\"9375240\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f8-o1\" lang=\"pl-PL\" dir=\"ltr\" data-wpcf7-id=\"8\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/www\/wp-json\/wp\/v2\/pages\/4409#wpcf7-f8-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formularz kontaktowy\" enctype=\"multipart\/form-data\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"8\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.7\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"pl_PL\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f8-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<div id=\"contact-section\" class=\"contact-section\">\n\t<div class=\"container\">\n\t\t<div class=\"contact-section__header\">\n\t\t\t<h5 class=\"contact-subheading\">Masz pytania?\n\t\t\t<\/h5>\n\t\t\t<h2 class=\"contact-heading\">Formularz Kontaktowy\n\t\t\t<\/h2>\n\t\t<\/div>\n\t\t<div id=\"contact-form\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-lg-6\">\n\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Imi\u0119\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"col-lg-6\">\n\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Adres Email\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"col-lg-12\">\n\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-subject\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Temat\" value=\"\" type=\"text\" name=\"your-subject\" \/><\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"col-lg-12\">\n\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Napisz wiadomo\u015b\u0107...\" name=\"your-message\"><\/textarea><\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\n <!-- Upload pliku -->\n\t\t\t\t<div class=\"col-lg-12\">\n\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-file\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-file\" accept=\".jpg,.jpeg,.png,.gif,.pdf,.svg\" aria-invalid=\"false\" type=\"file\" name=\"your-file\" \/><\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"col-lg-12\">\n\t\t\t\t\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner rd-btn\" type=\"submit\" value=\"Wy\u015blij\" \/>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<p><span id=\"wpcf7-6aed096ca3e03-wrapper\" class=\"wpcf7-form-control-wrap cf7apps-honeypot-wrap honeypot-123-wrap\" style=\"position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;\"><label for=\"wpcf7-6aed096ca3e03-field\" class=\"hp-message\">Please leave this field empty.<\/label><input id=\"wpcf7-6aed096ca3e03-field\"  class=\"wpcf7-form-control wpcf7-text honeypot\" type=\"text\" name=\"honeypot-123\" value=\"\" autocomplete=\"new-password\" tabindex=\"1000\" data-cf7apps-tabindex=\"1000\" \/><\/span>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d5cf7a0 elementor-widget elementor-widget-menu-anchor\" data-id=\"d5cf7a0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"kontakt\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Twoja przestrze\u0144. Tw\u00f3j styl. \u015aciany, kt\u00f3re opowiadaj\u0105 histori\u0119 Zwizualizuj sw\u00f3j mural Zam\u00f3w wizualizacj\u0119 teraz Szybka realizacja i projekt dopasowany do wn\u0119trza Zam\u00f3w teraz Sztuka, kt\u00f3ra o\u017cywia wn\u0119trze Wyra\u017a swoj\u0105 przestrze\u0144 dzi\u0119ki indywidualnym projektom. Tworzymy unikalne dekoracje \u015bcienne na p\u0142ytach gipsowych, kt\u00f3re dopasuj\u0105 si\u0119 do Twojego stylu, wn\u0119trza i charakteru przestrzeni. Ty wybierasz motyw \u2014 my [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-4409","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/obrazy.adozet.com\/www\/wp-json\/wp\/v2\/pages\/4409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/obrazy.adozet.com\/www\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/obrazy.adozet.com\/www\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/obrazy.adozet.com\/www\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/obrazy.adozet.com\/www\/wp-json\/wp\/v2\/comments?post=4409"}],"version-history":[{"count":469,"href":"https:\/\/obrazy.adozet.com\/www\/wp-json\/wp\/v2\/pages\/4409\/revisions"}],"predecessor-version":[{"id":4963,"href":"https:\/\/obrazy.adozet.com\/www\/wp-json\/wp\/v2\/pages\/4409\/revisions\/4963"}],"wp:attachment":[{"href":"https:\/\/obrazy.adozet.com\/www\/wp-json\/wp\/v2\/media?parent=4409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}