{"id":6,"date":"2024-01-10T17:55:18","date_gmt":"2024-01-10T16:55:18","guid":{"rendered":"http:\/\/karniszepoznan.pl\/?page_id=6"},"modified":"2026-10-23T19:00:30","modified_gmt":"2026-10-23T17:00:30","slug":"karnisze-elektryczne-poznan","status":"publish","type":"page","link":"https:\/\/karniszepoznan.pl\/","title":{"rendered":"Karnisze elektryczne Pozna\u0144"},"content":{"rendered":"<!-- HFCM by 99 Robots - Snippet # 13: hero -->\n<style>\r\n.kp-hero{--kp-ink:#192823;--kp-muted:#53625b;--kp-green:#244e3d;--kp-line:rgba(36,78,61,.16);position:relative;isolation:isolate;box-sizing:border-box;padding:clamp(30px,5vw,76px) 24px;color:var(--kp-ink);font-family:inherit;background:#f3f2ec;overflow:hidden;clip-path:inset(0)}\r\n.kp-hero *{box-sizing:border-box}.kp-hero::before{content:\"\";position:fixed;inset:0;z-index:-2;background:url('https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2025\/07\/salon2-1024x435.webp') center\/cover no-repeat;background-attachment:scroll;pointer-events:none}.kp-hero::after{content:\"\";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(248,247,242,.98),rgba(248,247,242,.93) 50%,rgba(248,247,242,.79))}\r\n.kp-hero .kp-wrap{max-width:1200px;margin:auto}.kp-hero .kp-topline{display:flex;align-items:center;gap:10px;margin:0 0 25px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.kp-hero .kp-topline::before{content:\"\";width:8px;height:8px;border-radius:50%;background:var(--kp-green);box-shadow:0 0 0 5px rgba(36,78,61,.08);flex:none}\r\n.kp-hero .kp-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}.kp-hero .kp-main{min-width:0}.kp-hero h1{font-family:inherit!important;font-size:24px!important;font-weight:650!important;letter-spacing:-.025em;line-height:1.3!important;margin:0 0 23px!important;color:var(--kp-ink)!important;text-wrap:balance}.kp-hero h1 span{display:block;color:var(--kp-green)}.kp-hero .kp-lead{font-size:clamp(16px,1.6vw,19px);line-height:1.65;margin:0 0 24px;max-width:560px;color:var(--kp-muted)}\r\n.kp-hero .kp-pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0;list-style:none}.kp-hero .kp-pills li{border:1px solid var(--kp-line);border-radius:100px;padding:7px 12px;font-size:12px;line-height:1.4;background:rgba(255,255,255,.55)}\r\n.kp-hero .kp-actions{display:flex;gap:10px;flex-wrap:wrap}.kp-hero .kp-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 21px;border:1px solid var(--kp-green);border-radius:10px;font:inherit;font-size:15px;font-weight:650;line-height:1.4;text-align:center;text-decoration:none!important;transition:background .18s,color .18s,box-shadow .18s;cursor:pointer}.kp-hero .kp-btn-primary{background:var(--kp-green);color:#fff!important;box-shadow:0 8px 20px rgba(36,78,61,.13)}.kp-hero .kp-btn-primary:hover{background:#173c2c;box-shadow:0 10px 25px rgba(36,78,61,.22)}.kp-hero .kp-btn-secondary{color:var(--kp-green)!important;background:rgba(255,255,255,.6)}.kp-hero .kp-btn-secondary:hover{background:white}.kp-hero a:focus-visible{outline:3px solid #937029;outline-offset:5px}.kp-hero .kp-help{font-size:13px;line-height:1.6;color:var(--kp-muted);margin:14px 0 0}.kp-hero .kp-help a{color:var(--kp-ink);text-decoration:underline;text-underline-offset:3px}\r\n.kp-hero .kp-panel{border:1px solid var(--kp-line);border-radius:20px;background:rgba(255,255,255,.88);padding:clamp(22px,3vw,34px);box-shadow:0 18px 50px rgba(25,40,35,.07)}.kp-hero .kp-label{margin:0 0 16px;font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--kp-muted)}.kp-hero .kp-time{display:flex;align-items:baseline;gap:9px;color:var(--kp-green);line-height:1}.kp-hero .kp-time strong{font-size:76px;font-weight:600;letter-spacing:-.07em}.kp-hero .kp-time span{font-size:26px}.kp-hero .kp-panel h2{font-family:inherit!important;font-size:23px!important;line-height:1.25!important;color:var(--kp-ink)!important;margin:15px 0 10px!important;letter-spacing:-.025em}.kp-hero .kp-panel p:not(.kp-label){font-size:15px;line-height:1.65;color:var(--kp-muted);margin:0}.kp-hero .kp-steps{display:grid;gap:12px;list-style:none;padding:20px 0;margin:20px 0 0;border-top:1px solid var(--kp-line)}.kp-hero .kp-steps li{display:flex;gap:12px;align-items:center;font-size:14px;line-height:1.5}.kp-hero .kp-num{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#edf2ed;color:var(--kp-green);font-size:11px;font-weight:750;flex:none}.kp-hero .kp-panel .kp-note{font-size:11px!important;line-height:1.6!important;border-top:1px solid var(--kp-line);padding-top:14px}\r\n.kp-hero .kp-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:32px}.kp-hero .kp-card{padding:23px;border:1px solid var(--kp-line);border-radius:14px;background:rgba(255,255,255,.77);min-width:0}.kp-hero .kp-card small{display:block;font-size:10px;font-weight:750;letter-spacing:.12em;color:var(--kp-green);margin-bottom:11px}.kp-hero .kp-card h2{font-family:inherit!important;font-size:18px!important;line-height:1.3!important;color:var(--kp-ink)!important;margin:0 0 9px!important;letter-spacing:-.02em}.kp-hero .kp-card p{font-size:14px;line-height:1.65;color:var(--kp-muted);margin:0}.kp-hero .kp-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--kp-line);margin-top:25px;padding-top:20px}.kp-hero .kp-footer p{font-size:12px;color:var(--kp-muted);margin:0;line-height:1.7}.kp-hero .kp-footer a{font-size:13px;font-weight:650;color:var(--kp-green);text-decoration:underline;text-underline-offset:4px;padding:8px 0;white-space:nowrap}\r\n@media(min-width:1500px){.kp-hero{padding-top:70px;padding-bottom:65px}}@media(max-width:800px){.kp-hero{padding:30px 20px}.kp-hero .kp-layout{grid-template-columns:1fr;gap:25px}.kp-hero h1{max-width:620px}.kp-hero .kp-panel{display:block}.kp-hero .kp-features{gap:10px}.kp-hero .kp-card{padding:18px}.kp-hero::after{background:rgba(248,247,242,.94)}}@media(max-width:560px){.kp-hero{padding:28px 16px}.kp-hero .kp-topline{font-size:10px;letter-spacing:.09em;margin-bottom:23px}.kp-hero h1{font-size:24px!important}.kp-hero .kp-lead{font-size:16px}.kp-hero .kp-actions{flex-direction:column}.kp-hero .kp-btn{width:100%;min-height:54px}.kp-hero .kp-pills{gap:6px;margin-bottom:23px}.kp-hero .kp-pills li{font-size:11px;padding:6px 10px}.kp-hero .kp-panel{padding:22px}.kp-hero .kp-time strong{font-size:64px}.kp-hero .kp-features{grid-template-columns:1fr;margin-top:15px}.kp-hero .kp-card{padding:19px}.kp-hero .kp-card small{margin-bottom:7px}.kp-hero .kp-footer{align-items:flex-start;flex-direction:column;gap:8px;margin-top:20px}.kp-hero .kp-help a{display:inline-block;padding:4px 0}}@media(prefers-reduced-motion:reduce){.kp-hero *{transition:none!important}}\r\n\r\n\/* Sta\u0142a warstwa obrazu, przyci\u0119ta do granic sekcji. Bez skryptu paralaksy. *\/\r\n.kp-hero::before{height:100vh;height:100lvh;background-position:center center}\r\n\/* Spokojny refleks przechodzi wy\u0142\u0105cznie po literach co 8 sekund. *\/\r\n@supports ((background-clip:text) or (-webkit-background-clip:text)){\r\n .kp-hero .kp-shine{--kp-text-base:var(--kp-green);background-image:linear-gradient(110deg,var(--kp-text-base) 0%,var(--kp-text-base) 42%,#8b7745 47%,#c5ad76 50%,#8b7745 53%,var(--kp-text-base) 58%,var(--kp-text-base) 100%);background-size:300% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;animation:kp-text-shine 8s ease-in-out infinite}\r\n .kp-hero .kp-shine-dark{--kp-text-base:var(--kp-ink)}\r\n .kp-hero h1 .kp-shine+ .kp-shine{animation-delay:.35s}\r\n .kp-hero .kp-panel .kp-shine{animation-delay:.8s}\r\n .kp-hero .kp-card:nth-child(1) .kp-shine{animation-delay:1.2s}\r\n .kp-hero .kp-card:nth-child(2) .kp-shine{animation-delay:1.6s}\r\n .kp-hero .kp-card:nth-child(3) .kp-shine{animation-delay:2s}\r\n}\r\n@keyframes kp-text-shine{0%,72%{background-position:100% 50%}92%,100%{background-position:0% 50%}}\r\n@media(prefers-reduced-motion:reduce){.kp-hero .kp-shine{animation:none!important;background:none!important;color:var(--kp-text-base,var(--kp-ink))!important;-webkit-text-fill-color:currentColor!important}}\r\n@media(forced-colors:active){.kp-hero .kp-shine{animation:none!important;background:none!important;color:CanvasText!important;-webkit-text-fill-color:CanvasText!important}}\r\n<\/style>\r\n<section class=\"kp-hero\" aria-labelledby=\"kp-hero-title\">\r\n <div class=\"kp-wrap\">\r\n  <p class=\"kp-topline\">Karnisze elektryczne Pozna\u0144 \u00b7 Na wymiar<\/p>\r\n  <div class=\"kp-layout\">\r\n   <div class=\"kp-main\">\r\n    <h1 id=\"kp-hero-title\"><span class=\"kp-shine kp-shine-dark\">Nie przep\u0142acaj.<\/span><span class=\"kp-shine\">Zam\u00f3w karnisz elektryczny do monta\u017cu w 15 minut.*<\/span><\/h1>\r\n    <p class=\"kp-lead\">Tw\u00f3j wymiar. Tw\u00f3j spos\u00f3b sterowania. Karnisz przygotowany do zawieszenia zas\u0142on \u2014 z nap\u0119dem dopasowanym do tego, czego naprawd\u0119 potrzebujesz.<\/p>\r\n    <ul class=\"kp-pills\" aria-label=\"Dost\u0119pne opcje\"><li>Zasilanie sieciowe lub akumulator<\/li><li>Zas\u0142ony wave lub flex<\/li><li>Pilot lub aplikacja**<\/li><\/ul>\r\n    <div class=\"kp-actions\">\r\n     <a class=\"kp-btn kp-btn-primary\" href=\"mailto:kontakt@karniszepoznan.pl?subject=Wycena%20karnisza%20elektrycznego&body=Dzie%C5%84%20dobry%2C%0Aprosz%C4%99%20o%20wycen%C4%99%20karnisza.%0AD%C5%82ugo%C5%9B%C4%87%3A%20%0ALiczba%20szyn%3A%20%0AZasilanie%20przy%20oknie%3A%20%0AZas%C5%82ony%20wave%20czy%20flex%3A%20%0A\">Wyce\u0144 m\u00f3j karnisz <span aria-hidden=\"true\">\u2197<\/span><\/a>\r\n     <a class=\"kp-btn kp-btn-secondary\" href=\"https:\/\/osklep.pl\">Sprawd\u017a ofert\u0119 w sklepie <span aria-hidden=\"true\">\u2192<\/span><\/a>\r\n    <\/div>\r\n    <p class=\"kp-help\">Do wyceny podaj d\u0142ugo\u015b\u0107 i do\u0142\u0105cz zdj\u0119cie okna.<br>Wolisz porozmawia\u0107? <a href=\"tel:+48667057777\">667 057 777<\/a><\/p>\r\n   <\/div>\r\n   <aside class=\"kp-panel\" aria-label=\"Monta\u017c karnisza\">\r\n    <p class=\"kp-label\">Mniej pracy. Wi\u0119cej wygody.<\/p>\r\n    <div class=\"kp-time\"><strong class=\"kp-shine\">15<\/strong><span>min*<\/span><\/div>\r\n    <h2><span class=\"kp-shine kp-shine-dark\">Przygotowany na Tw\u00f3j wymiar<\/span><\/h2>\r\n    <p>Zamiast kompletowa\u0107 przypadkowe elementy, zam\u00f3w dopasowan\u0105 szyn\u0119 i nap\u0119d. Przed zakupem ustalimy spos\u00f3b monta\u017cu i zasilania.<\/p>\r\n    <ol class=\"kp-steps\">\r\n     <li><span class=\"kp-num\" aria-hidden=\"true\">01<\/span>Zamocuj uchwyty do odpowiedniego pod\u0142o\u017ca.<\/li>\r\n     <li><span class=\"kp-num\" aria-hidden=\"true\">02<\/span>Zamontuj przygotowan\u0105 szyn\u0119 i nap\u0119d.<\/li>\r\n     <li><span class=\"kp-num\" aria-hidden=\"true\">03<\/span>Pod\u0142\u0105cz zasilanie i ustaw sterowanie.<\/li>\r\n    <\/ol>\r\n    <p class=\"kp-note\">* Orientacyjny czas prostego monta\u017cu przy przygotowanym miejscu i zasilaniu. Zale\u017cy od pod\u0142o\u017ca oraz konfiguracji; nie obejmuje prac elektrycznych, wieszania zas\u0142on ani integracji smart home.<\/p>\r\n   <\/aside>\r\n  <\/div>\r\n  <div class=\"kp-features\">\r\n   <article class=\"kp-card\"><small>01 \/ ROZS\u0104DNY WYB\u00d3R<\/small><h2><span class=\"kp-shine kp-shine-dark\">P\u0142a\u0107 za to, z czego korzystasz<\/span><\/h2><p>Pilot do codziennej obs\u0142ugi czy sterowanie z telefonu? Dobierz funkcje do swojego domu i por\u00f3wnaj wycen\u0119 wybranych wariant\u00f3w.<\/p><\/article>\r\n   <article class=\"kp-card\"><small>02 \/ TWOJE OKNO<\/small><h2><span class=\"kp-shine kp-shine-dark\">Dopasowanie zamiast kompromisu<\/span><\/h2><p>Na wymiar, z rozsuwaniem na jedn\u0105 lub dwie strony. Do zas\u0142on wave albo flex. Zapytaj r\u00f3wnie\u017c o szyny gi\u0119te i rozwi\u0105zania do skos\u00f3w.<\/p><\/article>\r\n   <article class=\"kp-card\"><small>03 \/ CODZIENNY KOMFORT<\/small><h2><span class=\"kp-shine kp-shine-dark\">Zas\u0142ony pod Twoj\u0105 kontrol\u0105<\/span><\/h2><p>Wybierz nap\u0119d sieciowy lub akumulatorowy. A-OK, Somfy i Forest \u2014 dobierzemy wariant do sposobu obs\u0142ugi i planowanej automatyki.**<\/p><\/article>\r\n  <\/div>\r\n  <div class=\"kp-footer\">\r\n   <p>** Dost\u0119pno\u015b\u0107 aplikacji i integracji zale\u017cy od nap\u0119du, protoko\u0142u oraz dodatkowych urz\u0105dze\u0144.<br>Masz KNX, Grenton, Ampio, Loxone, Fibaro lub Tuya? Podaj system przy wycenie.<\/p>\r\n   <a href=\"https:\/\/www.youtube.com\/playlist?list=PLjjJROwsQQdRmHc9e4chi8YapJhhSD5gE\" target=\"_blank\" rel=\"noopener noreferrer\">Zobacz nasze realizacje na YouTube \u2197<\/a>\r\n  <\/div>\r\n <\/div>\r\n<\/section>\r\n\n<!-- \/end HFCM by 99 Robots -->\n\n<!-- HFCM by 99 Robots - Snippet # 5: pasek wymiar\u00f3w -->\n<style>\r\n  \/* ===== AZHOME \u2014 pasek wymiar\u00f3w + cena + podpowied\u017a tylko na kropce ===== *\/\r\n\r\n  @keyframes azTrackBgFloat{\r\n    0%{ background-position:0% 0%, 100% 0%, 30% 100%, 0% 0%; }\r\n    35%{ background-position:55% 16%, 58% 32%, 68% 68%, 0% 0%; }\r\n    70%{ background-position:100% 28%, 18% 62%, 95% 42%, 0% 0%; }\r\n    100%{ background-position:0% 0%, 100% 0%, 30% 100%, 0% 0%; }\r\n  }\r\n\r\n  @keyframes azTrackFloat{\r\n    0%,100%{ transform:translateY(0); }\r\n    50%{ transform:translateY(-3px); }\r\n  }\r\n\r\n  @keyframes azTrackPulse{\r\n    0%{ box-shadow:0 0 0 rgba(53,214,41,0); }\r\n    50%{ box-shadow:0 0 28px rgba(53,214,41,.48); }\r\n    100%{ box-shadow:0 0 0 rgba(53,214,41,0); }\r\n  }\r\n\r\n  @keyframes azTrackBoom{\r\n    0%{ transform:scale(1); }\r\n    34%{ transform:scale(1.24); }\r\n    68%{ transform:scale(.96); }\r\n    100%{ transform:scale(1); }\r\n  }\r\n\r\n  @keyframes azTrackMessageIn{\r\n    0%{ opacity:0; transform:translateY(8px); }\r\n    100%{ opacity:1; transform:translateY(0); }\r\n  }\r\n\r\n  @keyframes azTrackHintPop{\r\n    0%{ opacity:0; transform:translate(-50%, 8px) scale(.92); }\r\n    65%{ opacity:1; transform:translate(-50%, -2px) scale(1.06); }\r\n    100%{ opacity:1; transform:translate(-50%, 0) scale(1); }\r\n  }\r\n\r\n  @keyframes azTrackHintGlow{\r\n    0%,100%{\r\n      box-shadow:\r\n        0 10px 24px rgba(0,0,0,.18),\r\n        0 0 0 rgba(53,214,41,0);\r\n    }\r\n    50%{\r\n      box-shadow:\r\n        0 12px 28px rgba(0,0,0,.22),\r\n        0 0 22px rgba(53,214,41,.36);\r\n    }\r\n  }\r\n\r\n  .az-track-wrap{\r\n    width:100%;\r\n    margin:24px auto;\r\n    padding:0;\r\n    box-sizing:border-box;\r\n    isolation:isolate;\r\n    text-align:center;\r\n  }\r\n\r\n  .az-track-card{\r\n    max-width:860px;\r\n    margin:0 auto;\r\n    padding:16px;\r\n    border:1px solid rgba(184,137,45,.50);\r\n    border-radius:24px;\r\n    position:relative;\r\n    overflow:hidden;\r\n    isolation:isolate;\r\n    box-sizing:border-box;\r\n    background:\r\n      radial-gradient(1200px 420px at 18% 12%,\r\n        rgba(48,190,34,.30) 0%,\r\n        rgba(48,190,34,.13) 36%,\r\n        rgba(255,255,255,0) 72%),\r\n      radial-gradient(900px 360px at 86% 22%,\r\n        rgba(117,28,34,.18) 0%,\r\n        rgba(117,28,34,.08) 42%,\r\n        rgba(255,255,255,0) 74%),\r\n      radial-gradient(980px 520px at 58% 92%,\r\n        rgba(184,137,45,.22) 0%,\r\n        rgba(184,137,45,.12) 38%,\r\n        rgba(255,255,255,0) 74%),\r\n      linear-gradient(180deg,\r\n        rgba(255,255,255,.95) 0%,\r\n        rgba(255,255,255,.88) 100%);\r\n    background-color:#fff;\r\n    background-size:230% 230%, 250% 250%, 240% 240%, 100% 100%;\r\n    background-position:0% 0%, 100% 0%, 30% 100%, 0% 0%;\r\n    animation:\r\n      azTrackBgFloat 4s ease-in-out infinite,\r\n      azTrackFloat 3.4s ease-in-out infinite;\r\n    box-shadow:\r\n      0 18px 46px rgba(0,0,0,.14),\r\n      0 0 26px rgba(48,190,34,.12),\r\n      inset 0 0 0 1px rgba(255,255,255,.70);\r\n  }\r\n\r\n  .az-track-card::before{\r\n    content:\"\";\r\n    position:absolute;\r\n    inset:0;\r\n    z-index:0;\r\n    pointer-events:none;\r\n    border-radius:inherit;\r\n    box-shadow:\r\n      inset 0 0 0 1px rgba(255,255,255,.78),\r\n      inset 0 0 34px rgba(255,255,255,.42);\r\n  }\r\n\r\n  .az-track-inner{\r\n    position:relative;\r\n    z-index:1;\r\n    padding:18px 16px 16px;\r\n    border:1px solid rgba(0,0,0,.08);\r\n    border-radius:20px;\r\n    background:rgba(255,255,255,.86);\r\n    box-shadow:0 12px 30px rgba(0,0,0,.08);\r\n    backdrop-filter:blur(6px);\r\n    box-sizing:border-box;\r\n  }\r\n\r\n  .az-track-head{\r\n    display:grid;\r\n    grid-template-columns:1fr auto;\r\n    gap:18px;\r\n    align-items:end;\r\n    margin:0 0 14px;\r\n    text-align:left;\r\n  }\r\n\r\n  .az-track-title{\r\n    margin:0;\r\n    font-size:21px;\r\n    line-height:1.18;\r\n    font-weight:900;\r\n    color:#111;\r\n    letter-spacing:-.025em;\r\n  }\r\n\r\n  .az-track-subtitle{\r\n    margin:6px 0 0;\r\n    color:rgba(0,0,0,.62);\r\n    font-size:13.5px;\r\n    line-height:1.45;\r\n  }\r\n\r\n  .az-track-live-box{\r\n    min-width:210px;\r\n    text-align:right;\r\n  }\r\n\r\n  .az-track-live{\r\n    display:flex;\r\n    align-items:baseline;\r\n    justify-content:flex-end;\r\n    gap:6px;\r\n    text-align:right;\r\n    white-space:nowrap;\r\n  }\r\n\r\n  .az-track-live-label{\r\n    font-size:12px;\r\n    color:rgba(0,0,0,.58);\r\n    font-weight:700;\r\n  }\r\n\r\n  .az-track-live-number{\r\n    display:inline-block;\r\n    font-family:Arial, sans-serif;\r\n    font-size:30px;\r\n    line-height:.95;\r\n    font-weight:900;\r\n    letter-spacing:-.06em;\r\n    color:#16a34a;\r\n    transform-origin:center;\r\n  }\r\n\r\n  .az-track-live-number.az-track-live-number--boom{\r\n    animation:azTrackBoom .56s cubic-bezier(.2,.9,.2,1.25);\r\n  }\r\n\r\n  .az-track-live-unit{\r\n    font-size:14px;\r\n    font-weight:900;\r\n    color:#111;\r\n  }\r\n\r\n  .az-track-price{\r\n    margin-top:8px;\r\n    display:flex;\r\n    flex-direction:column;\r\n    align-items:flex-end;\r\n    gap:3px;\r\n  }\r\n\r\n  .az-track-price-row{\r\n    display:flex;\r\n    align-items:baseline;\r\n    justify-content:flex-end;\r\n    gap:7px;\r\n  }\r\n\r\n  .az-track-price-label{\r\n    font-size:12px;\r\n    color:rgba(0,0,0,.58);\r\n    font-weight:800;\r\n    text-transform:uppercase;\r\n    letter-spacing:.08em;\r\n  }\r\n\r\n  .az-track-price-value{\r\n    font-size:28px;\r\n    line-height:1;\r\n    font-weight:900;\r\n    color:#111;\r\n    letter-spacing:-.04em;\r\n    white-space:nowrap;\r\n  }\r\n\r\n  .az-track-price-note{\r\n    font-size:12px;\r\n    color:rgba(0,0,0,.55);\r\n    line-height:1.35;\r\n  }\r\n\r\n  .az-track-scale{\r\n    position:relative;\r\n    height:44px;\r\n    margin:0 0 8px;\r\n    user-select:none;\r\n  }\r\n\r\n  .az-track-scale-label{\r\n    position:absolute;\r\n    top:0;\r\n    transform:translateX(-50%);\r\n    font-size:10px;\r\n    line-height:1;\r\n    color:rgba(0,0,0,.58);\r\n    font-weight:800;\r\n    white-space:nowrap;\r\n  }\r\n\r\n  .az-track-scale-label::after{\r\n    content:\"\";\r\n    position:absolute;\r\n    left:50%;\r\n    top:15px;\r\n    width:1px;\r\n    height:18px;\r\n    background:rgba(0,0,0,.16);\r\n    transform:translateX(-50%);\r\n  }\r\n\r\n  .az-track-bar-area{\r\n    position:relative;\r\n    padding:18px 0 0;\r\n  }\r\n\r\n  .az-track-bar-shell{\r\n    position:relative;\r\n    height:24px;\r\n    border-radius:999px;\r\n    background:\r\n      linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.035)),\r\n      rgba(255,255,255,.92);\r\n    border:1px solid rgba(0,0,0,.12);\r\n    overflow:visible;\r\n    box-shadow:\r\n      inset 0 2px 5px rgba(0,0,0,.10),\r\n      0 8px 18px rgba(0,0,0,.06);\r\n    cursor:pointer;\r\n    touch-action:none;\r\n  }\r\n\r\n  .az-track-bar-fill{\r\n    position:absolute;\r\n    left:0;\r\n    top:0;\r\n    height:100%;\r\n    width:0%;\r\n    border-radius:999px;\r\n    background:\r\n      linear-gradient(90deg,\r\n        rgba(53,214,41,.95) 0%,\r\n        rgba(31,184,44,.98) 42%,\r\n        rgba(8,145,55,.98) 100%);\r\n    box-shadow:\r\n      0 0 18px rgba(53,214,41,.42),\r\n      inset 0 1px 0 rgba(255,255,255,.44);\r\n    transition:width 1.55s cubic-bezier(.18,.9,.22,1);\r\n    pointer-events:none;\r\n  }\r\n\r\n  .az-track-bar-fill.az-track-bar-fill--pulse{\r\n    animation:azTrackPulse .7s ease-in-out;\r\n  }\r\n\r\n  .az-track-pointer{\r\n    position:absolute;\r\n    top:50%;\r\n    left:0%;\r\n    width:30px;\r\n    height:30px;\r\n    border-radius:50%;\r\n    background:#fff;\r\n    border:4px solid #16a34a;\r\n    box-shadow:\r\n      0 8px 18px rgba(0,0,0,.20),\r\n      0 0 18px rgba(53,214,41,.40);\r\n    transform:translate(-50%,-50%);\r\n    transition:left 1.55s cubic-bezier(.18,.9,.22,1), transform .15s ease;\r\n    z-index:4;\r\n    cursor:pointer;\r\n    touch-action:none;\r\n  }\r\n\r\n  .az-track-pointer::after{\r\n    content:\"\";\r\n    position:absolute;\r\n    inset:5px;\r\n    border-radius:50%;\r\n    background:#16a34a;\r\n  }\r\n\r\n  .az-track-pointer:hover{\r\n    transform:translate(-50%,-50%) scale(1.14);\r\n  }\r\n\r\n  .az-track-wrap.az-track-manual .az-track-pointer{\r\n    transform:translate(-50%,-50%) scale(1.08);\r\n  }\r\n\r\n  .az-track-wrap.az-track-dragging .az-track-pointer{\r\n    cursor:grabbing;\r\n    transform:translate(-50%,-50%) scale(1.14);\r\n  }\r\n\r\n  .az-track-wrap.az-track-manual .az-track-bar-fill,\r\n  .az-track-wrap.az-track-manual .az-track-pointer{\r\n    transition:none;\r\n  }\r\n\r\n  .az-track-hint{\r\n    position:absolute;\r\n    left:0%;\r\n    top:-18px;\r\n    z-index:8;\r\n    transform:translateX(-50%);\r\n    display:none;\r\n    align-items:center;\r\n    justify-content:center;\r\n    min-height:34px;\r\n    padding:8px 14px;\r\n    border-radius:999px;\r\n    background:#111;\r\n    color:#fff !important;\r\n    text-decoration:none !important;\r\n    font-size:13px;\r\n    line-height:1;\r\n    font-weight:900;\r\n    white-space:nowrap;\r\n    box-shadow:0 10px 24px rgba(0,0,0,.18);\r\n    cursor:pointer;\r\n  }\r\n\r\n  .az-track-hint::after{\r\n    content:\"\";\r\n    position:absolute;\r\n    left:50%;\r\n    bottom:-6px;\r\n    width:12px;\r\n    height:12px;\r\n    background:#111;\r\n    transform:translateX(-50%) rotate(45deg);\r\n    border-radius:2px;\r\n  }\r\n\r\n  .az-track-hint.az-track-hint--show{\r\n    display:inline-flex;\r\n    animation:\r\n      azTrackHintPop .30s ease both,\r\n      azTrackHintGlow 1.6s ease-in-out infinite;\r\n  }\r\n\r\n  .az-track-message{\r\n    min-height:70px;\r\n    margin:14px 0 0;\r\n    padding:13px 15px;\r\n    border-radius:16px;\r\n    border:1px solid rgba(48,190,34,.26);\r\n    background:\r\n      linear-gradient(135deg, rgba(48,190,34,.08), rgba(255,255,255,.90) 48%, rgba(184,137,45,.10));\r\n    color:rgba(0,0,0,.76);\r\n    font-size:15px;\r\n    line-height:1.45;\r\n    box-sizing:border-box;\r\n  }\r\n\r\n  .az-track-message.az-track-message--show{\r\n    animation:azTrackMessageIn .34s ease both;\r\n  }\r\n\r\n  .az-track-message strong{\r\n    color:#111;\r\n    font-weight:900;\r\n  }\r\n\r\n  @media (max-width:760px){\r\n    .az-track-card{\r\n      max-width:94%;\r\n      padding:10px;\r\n      border-radius:20px;\r\n    }\r\n\r\n    .az-track-inner{\r\n      padding:16px 10px 12px;\r\n      border-radius:18px;\r\n    }\r\n\r\n    .az-track-head{\r\n      grid-template-columns:1fr;\r\n      text-align:center;\r\n      gap:12px;\r\n    }\r\n\r\n    .az-track-title{\r\n      font-size:19px;\r\n    }\r\n\r\n    .az-track-subtitle{\r\n      max-width:460px;\r\n      margin-left:auto;\r\n      margin-right:auto;\r\n    }\r\n\r\n    .az-track-live-box{\r\n      min-width:0;\r\n      text-align:center;\r\n    }\r\n\r\n    .az-track-live,\r\n    .az-track-price-row{\r\n      justify-content:center;\r\n      text-align:center;\r\n    }\r\n\r\n    .az-track-price{\r\n      align-items:center;\r\n    }\r\n\r\n    .az-track-live-number{\r\n      font-size:34px;\r\n    }\r\n\r\n    .az-track-price-value{\r\n      font-size:30px;\r\n    }\r\n\r\n    .az-track-scale{\r\n      height:54px;\r\n      margin-top:4px;\r\n    }\r\n\r\n    .az-track-scale-label{\r\n      font-size:9px;\r\n    }\r\n\r\n    .az-track-scale-label:nth-child(even){\r\n      top:22px;\r\n    }\r\n\r\n    .az-track-scale-label:nth-child(even)::after{\r\n      top:-7px;\r\n      height:12px;\r\n    }\r\n\r\n    .az-track-hint{\r\n      font-size:12px;\r\n      padding:8px 12px;\r\n      top:-17px;\r\n    }\r\n\r\n    .az-track-message{\r\n      font-size:14px;\r\n      min-height:82px;\r\n    }\r\n  }\r\n\r\n  @media (prefers-reduced-motion: reduce){\r\n    .az-track-card,\r\n    .az-track-bar-fill,\r\n    .az-track-pointer,\r\n    .az-track-live-number.az-track-live-number--boom,\r\n    .az-track-message.az-track-message--show,\r\n    .az-track-hint.az-track-hint--show{\r\n      animation:none !important;\r\n      transition:none !important;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"az-track-wrap\">\r\n  <div class=\"az-track-card\">\r\n    <div class=\"az-track-inner\">\r\n\r\n      <div class=\"az-track-head\">\r\n        <div>\r\n          <h3 class=\"az-track-title\">Karnisz elektryczny na dok\u0142adny wymiar<\/h3>\r\n          <p class=\"az-track-subtitle\">\r\n            Przesu\u0144 zielon\u0105 kropk\u0119 lub zatrzymaj animacj\u0119 kursorem. Poka\u017cemy orientacyjny zakres d\u0142ugo\u015bci i cen\u0119 dla wybranego wymiaru.\r\n          <\/p>\r\n        <\/div>\r\n\r\n        <div class=\"az-track-live-box\">\r\n          <div class=\"az-track-live\" aria-label=\"Wybrany wymiar karnisza\">\r\n            <span class=\"az-track-live-label\">wymiar<\/span>\r\n            <span class=\"az-track-live-number\">100<\/span>\r\n            <span class=\"az-track-live-unit\">cm<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"az-track-price\" aria-label=\"Cena karnisza dla wybranego zakresu d\u0142ugo\u015bci\">\r\n            <div class=\"az-track-price-row\">\r\n              <span class=\"az-track-price-label\">cena od<\/span>\r\n              <span class=\"az-track-price-value\">938,70 z\u0142<\/span>\r\n            <\/div>\r\n            <span class=\"az-track-price-note\">dla zakresu: do 100 cm<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"az-track-scale\" aria-hidden=\"true\"><\/div>\r\n\r\n      <div class=\"az-track-bar-area\">\r\n        <div\r\n          class=\"az-track-bar-shell\"\r\n          role=\"slider\"\r\n          aria-label=\"Wybierz d\u0142ugo\u015b\u0107 karnisza\"\r\n          aria-valuemin=\"100\"\r\n          aria-valuemax=\"1200\"\r\n          aria-valuenow=\"100\"\r\n          tabindex=\"0\">\r\n          <div class=\"az-track-bar-fill\"><\/div>\r\n          <div class=\"az-track-pointer\"><\/div>\r\n        <\/div>\r\n\r\n        <a\r\n          class=\"az-track-hint\"\r\n          href=\"https:\/\/osklep.pl\/products\/karnisz-elektryczny-warszawa-rf-wifi-5w-zigbee\"\r\n          target=\"_blank\"\r\n          rel=\"noopener\"\r\n          aria-label=\"Kliknij i zam\u00f3w karnisz elektryczny\">\r\n          Kliknij i zam\u00f3w.\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <div class=\"az-track-message\">\r\n        Tw\u00f3j karnisz wykonamy na dok\u0142adny rozmiar, jaki potrzebujesz.\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  const min = 100;\r\n  const max = 1200;\r\n  const step = 50;\r\n  const orderUrl = 'https:\/\/osklep.pl\/products\/karnisz-elektryczny-warszawa-rf-wifi-5w-zigbee';\r\n\r\n  \/*\r\n    Ceny do 950 cm wpisane r\u0119cznie.\r\n    Zakresy od 1000 cm do 1200 cm s\u0105 liczone automatycznie\r\n    na podstawie \u015bredniej r\u00f3\u017cnicy mi\u0119dzy kolejnymi wcze\u015bniejszymi zakresami.\r\n  *\/\r\n  const BASE_PRICE_BY_RANGE = {\r\n    100: 938.70,\r\n    150: 1006.20,\r\n    200: 1073.70,\r\n    250: 1141.20,\r\n    300: 1208.70,\r\n    350: 1276.20,\r\n    400: 1343.70,\r\n    450: 1411.20,\r\n    500: 1478.70,\r\n    550: 1546.20,\r\n    600: 1613.70,\r\n    650: 1681.20,\r\n    700: 1748.70,\r\n    750: 1816.20,\r\n    800: 1883.70,\r\n    850: 1951.20,\r\n    900: 2018.70,\r\n    950: 2086.20\r\n  };\r\n\r\n  function buildPriceMap(){\r\n    const priceMap = Object.assign({}, BASE_PRICE_BY_RANGE);\r\n    const ranges = Object.keys(BASE_PRICE_BY_RANGE).map(Number).sort(function(a,b){ return a - b; });\r\n\r\n    let sumDiff = 0;\r\n    let diffCount = 0;\r\n\r\n    for(let i = 1; i < ranges.length; i++){\r\n      const previousRange = ranges[i - 1];\r\n      const currentRange = ranges[i];\r\n      const diff = BASE_PRICE_BY_RANGE[currentRange] - BASE_PRICE_BY_RANGE[previousRange];\r\n\r\n      sumDiff += diff;\r\n      diffCount++;\r\n    }\r\n\r\n    const averageDiff = diffCount ? (sumDiff \/ diffCount) : 0;\r\n\r\n    for(let range = 1000; range <= 1200; range += step){\r\n      const previousRange = range - step;\r\n      priceMap[range] = Math.round((priceMap[previousRange] + averageDiff) * 100) \/ 100;\r\n    }\r\n\r\n    return priceMap;\r\n  }\r\n\r\n  const PRICE_BY_RANGE = buildPriceMap();\r\n\r\n  const wrap = document.querySelector('.az-track-wrap');\r\n  if(!wrap) return;\r\n\r\n  const card = wrap.querySelector('.az-track-card');\r\n  const scale = wrap.querySelector('.az-track-scale');\r\n  const bar = wrap.querySelector('.az-track-bar-shell');\r\n  const fill = wrap.querySelector('.az-track-bar-fill');\r\n  const pointer = wrap.querySelector('.az-track-pointer');\r\n  const numberEl = wrap.querySelector('.az-track-live-number');\r\n  const message = wrap.querySelector('.az-track-message');\r\n  const hint = wrap.querySelector('.az-track-hint');\r\n  const priceValueEl = wrap.querySelector('.az-track-price-value');\r\n  const priceNoteEl = wrap.querySelector('.az-track-price-note');\r\n\r\n  const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n\r\n  let currentValue = min;\r\n  let autoTimer = null;\r\n  let hintHideTimer = null;\r\n  let isManual = false;\r\n  let isDragging = false;\r\n  let lastUserValue = min;\r\n\r\n  function clamp(value, minValue, maxValue){\r\n    return Math.max(minValue, Math.min(maxValue, value));\r\n  }\r\n\r\n  function valueToPercent(value){\r\n    return ((value - min) \/ (max - min)) * 100;\r\n  }\r\n\r\n  function percentToValue(percent){\r\n    return Math.round(min + ((max - min) * (percent \/ 100)));\r\n  }\r\n\r\n  function getRangeForValue(value){\r\n    return clamp(Math.ceil(value \/ step) * step, min, max);\r\n  }\r\n\r\n  function formatPrice(price){\r\n    return price.toLocaleString('pl-PL', {\r\n      minimumFractionDigits: 2,\r\n      maximumFractionDigits: 2\r\n    }) + ' z\u0142';\r\n  }\r\n\r\n  function getPriceForValue(value){\r\n    const range = getRangeForValue(value);\r\n    return PRICE_BY_RANGE[range] || PRICE_BY_RANGE[max];\r\n  }\r\n\r\n  function updatePrice(value){\r\n    const range = getRangeForValue(value);\r\n    const price = getPriceForValue(value);\r\n\r\n    if(priceValueEl){\r\n      priceValueEl.textContent = formatPrice(price);\r\n    }\r\n\r\n    if(priceNoteEl){\r\n      priceNoteEl.textContent = 'dla zakresu: do ' + range + ' cm';\r\n    }\r\n  }\r\n\r\n  function randomBetweenRanges(){\r\n    const rangesCount = Math.floor((max - min) \/ step);\r\n    const rangeIndex = Math.floor(Math.random() * rangesCount);\r\n    const rangeStart = min + (rangeIndex * step);\r\n\r\n    return Math.floor(rangeStart + 1 + Math.random() * (step - 2));\r\n  }\r\n\r\n  function renderScale(){\r\n    scale.innerHTML = '';\r\n\r\n    for(let value = min; value <= max; value += step){\r\n      const label = document.createElement('span');\r\n      label.className = 'az-track-scale-label';\r\n      label.textContent = value;\r\n      label.style.left = valueToPercent(value) + '%';\r\n      scale.appendChild(label);\r\n    }\r\n  }\r\n\r\n  function setPosition(value){\r\n    const safeValue = clamp(value, min, max);\r\n    const percent = valueToPercent(safeValue);\r\n\r\n    fill.style.width = percent + '%';\r\n    pointer.style.left = percent + '%';\r\n    hint.style.left = percent + '%';\r\n    bar.setAttribute('aria-valuenow', safeValue);\r\n\r\n    currentValue = safeValue;\r\n    updatePrice(safeValue);\r\n  }\r\n\r\n  function setMessage(value){\r\n\r\n  message.innerHTML =\r\n\r\n    'Tw\u00f3j karnisz wykonamy na dok\u0142adny rozmiar, jaki potrzebujesz. <strong>' +\r\n\r\n    value +\r\n\r\n    ' cm<\/strong>';\r\n\r\n  message.classList.remove('az-track-message--show');\r\n\r\n  void message.offsetWidth;\r\n\r\n  message.classList.add('az-track-message--show');\r\n\r\n}\r\n  function boomNumber(){\r\n    numberEl.classList.remove('az-track-live-number--boom');\r\n    void numberEl.offsetWidth;\r\n    numberEl.classList.add('az-track-live-number--boom');\r\n  }\r\n\r\n  function pulseFill(){\r\n    fill.classList.remove('az-track-bar-fill--pulse');\r\n    void fill.offsetWidth;\r\n    fill.classList.add('az-track-bar-fill--pulse');\r\n  }\r\n\r\n  function animateNumber(from, to, duration){\r\n    const startTime = performance.now();\r\n\r\n    function tick(now){\r\n      const elapsed = now - startTime;\r\n      const progress = Math.min(elapsed \/ duration, 1);\r\n      const eased = 1 - Math.pow(1 - progress, 2.2);\r\n      const current = Math.round(from + ((to - from) * eased));\r\n\r\n      numberEl.textContent = current;\r\n\r\n      if(progress < 1){\r\n        requestAnimationFrame(tick);\r\n      } else {\r\n        numberEl.textContent = to;\r\n        boomNumber();\r\n      }\r\n    }\r\n\r\n    requestAnimationFrame(tick);\r\n  }\r\n\r\n  function clearAuto(){\r\n    if(autoTimer){\r\n      clearTimeout(autoTimer);\r\n      autoTimer = null;\r\n    }\r\n  }\r\n\r\n  function clearHintTimer(){\r\n    if(hintHideTimer){\r\n      clearTimeout(hintHideTimer);\r\n      hintHideTimer = null;\r\n    }\r\n  }\r\n\r\n  function hideHint(){\r\n    clearHintTimer();\r\n    hint.classList.remove('az-track-hint--show');\r\n  }\r\n\r\n  function showHint(value){\r\n    clearHintTimer();\r\n    hint.style.left = valueToPercent(value) + '%';\r\n    hint.classList.remove('az-track-hint--show');\r\n    void hint.offsetWidth;\r\n    hint.classList.add('az-track-hint--show');\r\n  }\r\n\r\n  function scheduleHintHide(){\r\n    clearHintTimer();\r\n    hintHideTimer = setTimeout(function(){\r\n      if(!hint.matches(':hover') && !pointer.matches(':hover')){\r\n        hideHint();\r\n      }\r\n    }, 260);\r\n  }\r\n\r\n  function manualValueFromEvent(event){\r\n    const rect = bar.getBoundingClientRect();\r\n    const clientX = event.touches && event.touches[0] ? event.touches[0].clientX : event.clientX;\r\n    const percent = clamp(((clientX - rect.left) \/ rect.width) * 100, 0, 100);\r\n    return percentToValue(percent);\r\n  }\r\n\r\n  function updateManual(event){\r\n    const value = manualValueFromEvent(event);\r\n    lastUserValue = value;\r\n\r\n    setPosition(value);\r\n    numberEl.textContent = value;\r\n    setMessage(value);\r\n  }\r\n\r\n  function startManual(){\r\n    isManual = true;\r\n    clearAuto();\r\n    wrap.classList.add('az-track-manual');\r\n  }\r\n\r\n  function stopManual(){\r\n    isManual = false;\r\n    isDragging = false;\r\n    wrap.classList.remove('az-track-manual');\r\n    wrap.classList.remove('az-track-dragging');\r\n    hideHint();\r\n    autoTimer = setTimeout(loop, 1200);\r\n  }\r\n\r\n  function loop(){\r\n    if(isManual || isDragging) return;\r\n\r\n    const fromValue = currentValue;\r\n    const nextValue = randomBetweenRanges();\r\n\r\n    message.classList.remove('az-track-message--show');\r\n    fill.classList.remove('az-track-bar-fill--pulse');\r\n    hideHint();\r\n\r\n    setPosition(nextValue);\r\n\r\n    if(prefersReducedMotion){\r\n      numberEl.textContent = nextValue;\r\n      setMessage(nextValue);\r\n      return;\r\n    }\r\n\r\n    animateNumber(fromValue, nextValue, 1500);\r\n\r\n    setTimeout(function(){\r\n      if(isManual || isDragging) return;\r\n\r\n      pulseFill();\r\n      setMessage(nextValue);\r\n      boomNumber();\r\n\r\n      currentValue = nextValue;\r\n    }, 1580);\r\n\r\n    autoTimer = setTimeout(loop, 4300);\r\n  }\r\n\r\n  renderScale();\r\n  setPosition(min);\r\n  setMessage(min);\r\n\r\n  card.addEventListener('mouseenter', function(){\r\n    startManual();\r\n  });\r\n\r\n  card.addEventListener('mouseleave', function(){\r\n    stopManual();\r\n  });\r\n\r\n  pointer.addEventListener('mouseenter', function(){\r\n    showHint(currentValue);\r\n  });\r\n\r\n  pointer.addEventListener('mouseleave', function(){\r\n    scheduleHintHide();\r\n  });\r\n\r\n  hint.addEventListener('mouseenter', function(){\r\n    clearHintTimer();\r\n  });\r\n\r\n  hint.addEventListener('mouseleave', function(){\r\n    scheduleHintHide();\r\n  });\r\n\r\n  pointer.addEventListener('click', function(event){\r\n    event.preventDefault();\r\n    event.stopPropagation();\r\n    window.open(orderUrl, '_blank', 'noopener');\r\n  });\r\n\r\n  hint.addEventListener('click', function(event){\r\n    event.stopPropagation();\r\n  });\r\n\r\n  bar.addEventListener('pointerdown', function(event){\r\n    event.preventDefault();\r\n    startManual();\r\n    isDragging = true;\r\n    wrap.classList.add('az-track-dragging');\r\n    bar.setPointerCapture(event.pointerId);\r\n    updateManual(event);\r\n    hideHint();\r\n  });\r\n\r\n  bar.addEventListener('pointermove', function(event){\r\n    if(!isManual && !isDragging) return;\r\n    updateManual(event);\r\n  });\r\n\r\n  bar.addEventListener('pointerup', function(event){\r\n    isDragging = false;\r\n    wrap.classList.remove('az-track-dragging');\r\n\r\n    try{\r\n      bar.releasePointerCapture(event.pointerId);\r\n    }catch(e){}\r\n\r\n    boomNumber();\r\n\r\n    if(pointer.matches(':hover')){\r\n      showHint(lastUserValue);\r\n    }\r\n  });\r\n\r\n  bar.addEventListener('click', function(event){\r\n    if(event.target === hint || event.target === pointer) return;\r\n    updateManual(event);\r\n    boomNumber();\r\n    pulseFill();\r\n  });\r\n\r\n  bar.addEventListener('keydown', function(event){\r\n    let value = currentValue;\r\n\r\n    if(event.key === 'ArrowLeft') value -= 1;\r\n    if(event.key === 'ArrowRight') value += 1;\r\n    if(event.key === 'PageDown') value -= 50;\r\n    if(event.key === 'PageUp') value += 50;\r\n    if(event.key === 'Home') value = min;\r\n    if(event.key === 'End') value = max;\r\n\r\n    if(value !== currentValue){\r\n      event.preventDefault();\r\n      startManual();\r\n\r\n      value = clamp(value, min, max);\r\n      lastUserValue = value;\r\n\r\n      setPosition(value);\r\n      numberEl.textContent = value;\r\n      setMessage(value);\r\n      boomNumber();\r\n      pulseFill();\r\n\r\n      if(pointer.matches(':hover')){\r\n        showHint(value);\r\n      }\r\n    }\r\n  });\r\n\r\n  autoTimer = setTimeout(loop, 700);\r\n})();\r\n<\/script>\n<!-- \/end HFCM by 99 Robots -->\n\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<\/div>\n<\/div>\n\n\n<!-- HFCM by 99 Robots - Snippet # 3: opinie -->\n<style>\r\n.azh-reviews{--ah-text:#edf3f4;--ah-muted:#a6b5ba;--ah-line:rgba(183,220,224,.17);margin:28px auto;max-width:1040px;font-family:inherit;color:var(--ah-text);box-sizing:border-box}\r\n.azh-reviews *{box-sizing:border-box}.azh-reviews .ah-shell{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--ah-line);border-radius:20px;background:radial-gradient(ellipse at 0 0,rgba(87,218,201,.10),transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(139,124,235,.1),transparent 50%),linear-gradient(130deg,#1b2429,#101619 60%,#182024);box-shadow:0 22px 55px #0003,inset 0 1px 0 #ffffff18}\r\n.azh-reviews .ah-shell::before{content:\"\";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#c7e3ed05 1px,transparent 1px),linear-gradient(90deg,#c7e3ed05 1px,transparent 1px);background-size:32px 32px}\r\n.azh-reviews .ah-shell::after{content:\"\";position:absolute;top:0;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,#8ff2df,#b9b7f4,#f5dbb4,transparent);opacity:.85;pointer-events:none}\r\n.azh-reviews .ah-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 30px;border-bottom:1px solid var(--ah-line);font-size:10px;line-height:1.5;font-weight:650;letter-spacing:.18em;text-transform:uppercase;color:var(--ah-muted)}.azh-reviews .ah-brand{display:flex;align-items:center;gap:10px;color:#d5e4e7}.azh-reviews .ah-dot{height:6px;width:6px;border-radius:50%;background:#99dfc6;box-shadow:0 0 12px #99dfc655;flex:none}\r\n.azh-reviews .ah-body{display:grid;grid-template-columns:225px minmax(0,1fr);gap:0}.azh-reviews .ah-meter{padding:30px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border-right:1px solid var(--ah-line);background:linear-gradient(145deg,#ffffff04,transparent)}\r\n.azh-reviews .ah-google{font-family:Arial,sans-serif;font-size:24px;line-height:1.2;letter-spacing:-1px;font-weight:600;white-space:nowrap}.azh-reviews .ah-google span:nth-child(1),.azh-reviews .ah-google span:nth-child(4){color:#76a7fa}.azh-reviews .ah-google span:nth-child(2),.azh-reviews .ah-google span:nth-child(6){color:#f28b82}.azh-reviews .ah-google span:nth-child(3){color:#fdd663}.azh-reviews .ah-google span:nth-child(5){color:#81c995}\r\n.azh-reviews .ah-count{display:block;margin-top:20px;font-size:64px;font-weight:550;line-height:1.05;letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:#e7f2f1}.azh-reviews .ah-count-label{font-size:12px;color:var(--ah-muted);line-height:1.6;margin-top:7px}.azh-reviews .ah-content{padding:30px 34px;min-width:0}.azh-reviews .ah-rating{display:flex;align-items:center;gap:15px;margin-bottom:19px}.azh-reviews .ah-score{font-size:30px;line-height:1;font-weight:600;letter-spacing:-.04em;color:#f5f7f7}.azh-reviews .ah-score small{font-size:13px;color:var(--ah-muted);font-weight:400;letter-spacing:0}.azh-reviews .ah-stars{font-size:21px;letter-spacing:3px;color:#e3ca91;line-height:1.3;white-space:nowrap}\r\n.azh-reviews .ah-title{font-family:inherit!important;color:#edf3f4!important;font-size:clamp(23px,3vw,31px)!important;line-height:1.2!important;letter-spacing:-.035em;font-weight:550!important;margin:0 0 12px!important;text-wrap:balance}.azh-reviews .ah-description{margin:0 0 23px;font-size:14px;line-height:1.7;color:var(--ah-muted);max-width:480px}\r\n.azh-reviews .ah-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;position:relative;overflow:hidden;min-height:49px;padding:13px 19px;border:1px solid #aed5d15e;border-radius:8px;background:linear-gradient(115deg,#c4e6df,#cbd8ec 65%,#e0d5ea);color:#14252a!important;text-decoration:none!important;font-size:13px;font-weight:750;line-height:1.5;box-shadow:inset 0 1px 0 #ffffff90,0 5px 20px #0002;transition:box-shadow .2s,filter .2s}.azh-reviews .ah-cta:hover{filter:brightness(1.08);box-shadow:0 0 24px #9de6dc24}.azh-reviews .ah-cta:focus-visible{outline:3px solid #a4f4df;outline-offset:5px}.azh-reviews .ah-arrow{font-size:20px;line-height:1}\r\n.azh-reviews .ah-cta::after{content:\"\";position:absolute;inset:-30% auto -30% -50%;width:35%;background:linear-gradient(90deg,transparent,#ffffffaa,transparent);transform:skewX(-20deg);pointer-events:none;animation:ah-metal-sweep 9s ease-in-out infinite;animation-play-state:paused}.azh-reviews.ah-visible .ah-cta::after{animation-play-state:running}\r\n.azh-reviews .ah-foot{border-top:1px solid var(--ah-line);padding:13px 30px;display:flex;justify-content:space-between;gap:12px;font-size:10px;line-height:1.5;letter-spacing:.08em;color:#92a4ab}.azh-reviews .ah-foot span:last-child{color:#b2c7c7}.azh-reviews .ah-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\r\n@supports ((background-clip:text) or (-webkit-background-clip:text)){.azh-reviews .ah-count{background:linear-gradient(115deg,#dcebea 15%,#9ae7d1 33%,#b0d6f3 48%,#d4bdeb 62%,#ecdfc7 78%,#dcebea 90%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:ah-foil 12s ease-in-out infinite;animation-play-state:paused}.azh-reviews.ah-visible .ah-count{animation-play-state:running}}\r\n@keyframes ah-foil{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes ah-metal-sweep{0%,75%{left:-50%;opacity:0}78%{opacity:.7}95%,100%{left:125%;opacity:0}}\r\n@media(max-width:620px){.azh-reviews .ah-header{padding:16px 20px;font-size:9px;letter-spacing:.12em}.azh-reviews .ah-body{grid-template-columns:1fr}.azh-reviews .ah-meter{padding:22px 20px;border-right:0;border-bottom:1px solid var(--ah-line);display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:center}.azh-reviews .ah-google{grid-column:1;grid-row:1;font-size:27px}.azh-reviews .ah-count{grid-column:2;grid-row:1 \/ span 2;font-size:51px;margin:0}.azh-reviews .ah-count-label{grid-column:1;grid-row:2;margin:3px 0 0}.azh-reviews .ah-content{padding:24px 20px}.azh-reviews .ah-rating{margin-bottom:17px}.azh-reviews .ah-cta{width:100%;min-height:52px}.azh-reviews .ah-foot{padding:14px 20px;flex-wrap:wrap}.azh-reviews .ah-title{font-size:25px!important}}\r\n@media(prefers-reduced-motion:reduce){.azh-reviews *,.azh-reviews *::after{animation:none!important;transition:none!important}.azh-reviews .ah-cta::after{display:none}}\r\n@media(forced-colors:active){.azh-reviews .ah-count{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}.azh-reviews .ah-cta{border:1px solid ButtonText}}\r\n\r\n\/* Wersja kompaktowa \u2014 pe\u0142na szeroko\u015b\u0107 kontenera strony. *\/\r\n.azh-reviews{width:100%;max-width:none!important;margin:16px auto}\r\n.azh-reviews .ah-shell{border-radius:14px}\r\n.azh-reviews .ah-header,.azh-reviews .ah-foot{display:none}\r\n.azh-reviews .ah-body{grid-template-columns:220px minmax(0,1fr)}\r\n.azh-reviews .ah-meter{padding:20px 24px;display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-content:center;align-items:center}\r\n.azh-reviews .ah-google{grid-column:1;grid-row:1;font-size:24px}\r\n.azh-reviews .ah-count{grid-column:2;grid-row:1;font-size:42px;margin:0}\r\n.azh-reviews .ah-count-label{grid-column:1 \/ -1;grid-row:2;margin:0;font-size:11px}\r\n.azh-reviews .ah-content{padding:20px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;align-content:center;align-items:center}\r\n.azh-reviews .ah-rating{grid-column:1;grid-row:1;margin:0;gap:12px}\r\n.azh-reviews .ah-score{font-size:26px}.azh-reviews .ah-stars{font-size:18px;letter-spacing:2px}\r\n.azh-reviews .ah-title{grid-column:1;grid-row:2;font-size:18px!important;line-height:1.3!important;letter-spacing:-.02em;margin:0!important;text-wrap:initial}\r\n.azh-reviews .ah-description{display:none}\r\n.azh-reviews .ah-cta{grid-column:2;grid-row:1 \/ span 2;min-height:46px;padding:12px 16px;font-size:12px;gap:16px;white-space:nowrap}\r\n@media(max-width:900px){.azh-reviews .ah-body{grid-template-columns:185px minmax(0,1fr)}.azh-reviews .ah-meter{padding:18px;gap:4px 10px}.azh-reviews .ah-content{padding:18px;gap:8px 15px}.azh-reviews .ah-google{font-size:22px}.azh-reviews .ah-count{font-size:36px}.azh-reviews .ah-title{font-size:16px!important}.azh-reviews .ah-cta{white-space:normal;max-width:210px}}\r\n@media(max-width:680px){.azh-reviews .ah-body{grid-template-columns:1fr}.azh-reviews .ah-meter{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 12px;padding:14px 18px;border-right:0;border-bottom:1px solid var(--ah-line)}.azh-reviews .ah-count{font-size:30px;margin:0}.azh-reviews .ah-count-label{font-size:11px}.azh-reviews .ah-content{padding:15px 18px;grid-template-columns:1fr;gap:9px}.azh-reviews .ah-rating{grid-column:1;grid-row:1}.azh-reviews .ah-title{grid-column:1;grid-row:2;font-size:16px!important}.azh-reviews .ah-cta{grid-column:1;grid-row:3;max-width:none;width:100%;min-height:44px;margin-top:3px;white-space:normal}.azh-reviews .ah-score{font-size:25px}}\r\n\r\n\/* Szeroko\u015b\u0107 dopasowana do kalkulatora ze zrzutu. *\/\r\n.azh-reviews{--ah-text:#eceeef;--ah-muted:#b0b3b7;--ah-line:rgba(207,210,215,.19);width:calc(100% - 32px)!important;max-width:860px!important;margin:20px auto!important}\r\n.azh-reviews .ah-shell{border-radius:14px;border-color:#55585c;background:radial-gradient(ellipse at 5% 10%,#71777d20,transparent 52%),radial-gradient(ellipse at 100% 100%,#861d2020,transparent 50%),linear-gradient(125deg,#232528 0%,#0b0c0e 52%,#1b1c1f 100%);box-shadow:0 16px 35px #0003,inset 0 1px 0 #ffffff20}\r\n.azh-reviews .ah-shell::before{background-image:repeating-linear-gradient(115deg,transparent 0 4px,#e0e2e406 4px 5px),linear-gradient(#d9dce005 1px,transparent 1px),linear-gradient(90deg,#d9dce005 1px,transparent 1px);background-size:auto,28px 28px,28px 28px;opacity:.75}\r\n.azh-reviews .ah-shell::after{left:4%;right:4%;background:linear-gradient(90deg,transparent,#979da3 20%,#e4e7ea 43%,#a42b30 78%,transparent);opacity:.85}\r\n.azh-reviews .ah-body{grid-template-columns:185px minmax(0,1fr)}\r\n.azh-reviews .ah-meter{padding:18px;gap:4px 10px;background:linear-gradient(125deg,#ffffff05,transparent);border-right-color:#cfd2d526}\r\n.azh-reviews .ah-google{font-size:23px}.azh-reviews .ah-count{font-size:38px;color:#dce0e4}\r\n.azh-reviews .ah-content{padding:18px 20px;gap:7px 18px}\r\n.azh-reviews .ah-score{color:#f1f2f3;font-size:26px}.azh-reviews .ah-stars{color:#d1d3d7;text-shadow:0 1px 0 #000,0 0 12px #cfd5dc18}\r\n.azh-reviews .ah-title{font-size:16px!important;color:#e6e8eb!important}\r\n.azh-reviews .ah-cta{color:#f3f3f4!important;background:linear-gradient(120deg,#36393d,#202225 65%,#343538);border:1px solid #777b81;border-left:3px solid #a82c32;box-shadow:inset 0 1px 0 #ffffff24,0 5px 18px #0003;max-width:205px;white-space:normal;font-size:12px;gap:12px}\r\n.azh-reviews .ah-cta:hover{filter:brightness(1.12);box-shadow:0 0 20px #a3293022;border-color:#a5a9ad;border-left-color:#db4148}\r\n.azh-reviews .ah-cta:focus-visible{outline-color:#d1d5d9}.azh-reviews .ah-arrow{color:#dd777b}.azh-reviews .ah-cta::after{background:linear-gradient(90deg,transparent,#e8ebef70,transparent)}\r\n@supports ((background-clip:text) or (-webkit-background-clip:text)){.azh-reviews .ah-count{background-image:linear-gradient(110deg,#989fa7 8%,#f3f4f5 28%,#b4bdc6 43%,#e4e3e6 55%,#b3a4a8 67%,#e6e9ec 80%,#989fa7 95%);color:transparent;-webkit-text-fill-color:transparent}}\r\n@media(max-width:760px) and (min-width:681px){.azh-reviews .ah-body{grid-template-columns:165px minmax(0,1fr)}.azh-reviews .ah-meter{padding:14px}.azh-reviews .ah-content{padding:16px 14px;gap:7px 12px}.azh-reviews .ah-cta{max-width:170px;padding:11px 12px}.azh-reviews .ah-title{font-size:15px!important}}\r\n@media(max-width:680px){.azh-reviews{width:calc(100% - 24px)!important;margin:16px auto!important}.azh-reviews .ah-body{grid-template-columns:1fr}.azh-reviews .ah-meter{display:flex;border-right:0;padding:12px 16px;gap:8px 12px}.azh-reviews .ah-count{font-size:30px}.azh-reviews .ah-content{padding:14px 16px;gap:8px}.azh-reviews .ah-cta{max-width:none;width:100%}.azh-reviews .ah-title{font-size:16px!important}}\r\n@media(forced-colors:active){.azh-reviews .ah-count{background:none!important;color:CanvasText!important;-webkit-text-fill-color:CanvasText!important}}\r\n\r\n\/* Z\u0142ote \u015bwiat\u0142a: ocena \u2192 pi\u0119\u0107 gwiazdek \u2192 przerwa. *\/\r\n.azh-reviews .ah-score{color:#d9b765}\r\n.azh-reviews .ah-score small{color:#b9aa89}\r\n.azh-reviews .ah-stars{display:inline-flex;align-items:center;gap:2px;letter-spacing:0;color:#d9b765;text-shadow:none}\r\n.azh-reviews .ah-runway{display:inline-block;color:#d9b765;text-shadow:0 1px 1px #0008;animation:ah-runway-gold 5.8s ease-in-out infinite;animation-delay:var(--ah-delay,0s);animation-play-state:paused}\r\n.azh-reviews.ah-visible .ah-runway{animation-play-state:running}\r\n@keyframes ah-runway-gold{\r\n 0%,3%,17%,100%{color:#d9b765;text-shadow:0 1px 1px #0008}\r\n 7%{color:#fff4c8;text-shadow:0 0 4px #fff0b8cc,0 0 11px #ffc84a99,0 0 20px #db941b55}\r\n 11%{color:#f5d783;text-shadow:0 0 5px #ffd76777,0 0 12px #e5ad3533}\r\n}\r\n@media(prefers-reduced-motion:reduce){.azh-reviews .ah-runway{animation:none!important;color:#e1bd70;text-shadow:none}}\r\n@media(forced-colors:active){.azh-reviews .ah-runway{animation:none!important;color:CanvasText;text-shadow:none}}\r\n\r\n\/* Fala ma w\u0142asn\u0105 przestrze\u0144 wewn\u0105trz modu\u0142u, wi\u0119c rodzic jej nie przycina. *\/\r\n.azh-reviews{position:relative;isolation:isolate;overflow:hidden;padding-bottom:95px!important;margin-bottom:12px!important}\r\n.azh-reviews .ah-shell{position:relative;z-index:2}\r\n.azh-reviews .ah-energy{position:absolute;z-index:1;bottom:0;left:0;width:100%;height:105px;overflow:hidden;pointer-events:none}\r\n.azh-reviews .ah-energy::before{content:\"\";position:absolute;left:4%;top:0;width:92%;height:65px;background:radial-gradient(ellipse at 50% 0%,rgba(255,223,134,.85) 0%,rgba(231,169,43,.5) 24%,rgba(210,142,21,.16) 50%,transparent 74%);filter:blur(6px);opacity:.6;animation:ah-calm-aura 7s ease-in-out infinite}\r\n.azh-reviews .ah-energy::after{content:\"\";position:absolute;top:1px;left:12%;width:76%;height:3px;background:linear-gradient(90deg,transparent,#d69928,#fff0b4,#d69928,transparent);box-shadow:0 3px 14px #e1a633aa;filter:blur(1px)}\r\n.azh-reviews .ah-energy .ah-wave{position:absolute;display:block;left:5%;top:-36px;width:90%;height:65px;border:2px solid rgba(217,157,41,.8);border-top:0;border-radius:50%;background:radial-gradient(ellipse at 50% 0%,transparent 45%,rgba(240,188,70,.13) 77%,rgba(255,217,128,.28) 95%,transparent 100%);box-shadow:0 6px 14px rgba(221,160,35,.32),inset 0 -4px 9px rgba(255,224,143,.36);transform-origin:center top;opacity:0;animation:ah-calm-wave 7s cubic-bezier(.22,.5,.35,1) infinite}\r\n.azh-reviews .ah-energy .ah-wave:nth-child(2){animation-delay:1.1s}\r\n.azh-reviews .ah-energy .ah-wave:nth-child(3){animation-delay:2.2s}\r\n@keyframes ah-calm-wave{0%{opacity:0;transform:translateY(0) scale(.7,.45)}10%{opacity:.85}42%{opacity:.45}68%,100%{opacity:0;transform:translateY(57px) scale(1.17,1.35)}}\r\n@keyframes ah-calm-aura{0%,100%{opacity:.45;transform:scaleY(.75)}40%{opacity:.85;transform:scaleY(1.15)}70%{opacity:.55;transform:scaleY(.9)}}\r\n@media(max-width:680px){.azh-reviews{padding-bottom:75px!important;margin-bottom:8px!important}.azh-reviews .ah-energy{height:85px}.azh-reviews .ah-energy .ah-wave{width:88%;left:6%;height:52px}}\r\n@media(prefers-reduced-motion:reduce){.azh-reviews .ah-energy::before{animation:none!important;opacity:.6}.azh-reviews .ah-energy .ah-wave{animation:none!important}.azh-reviews .ah-energy .ah-wave:first-child{opacity:.4;transform:translateY(15px) scale(1,.8)}}\r\n@media(forced-colors:active){.azh-reviews .ah-energy{display:none}.azh-reviews{padding-bottom:0!important}}\r\n\r\n\/* Osobna warstwa pulsu: nie koliduje z holograficznym kolorem liczby. *\/\r\n.azh-reviews .ah-count-pulse{display:inline-block;grid-column:2;grid-row:1;justify-self:end;transform-origin:center;position:relative;z-index:2}\r\n.azh-reviews .ah-count-pulse .ah-count{display:block;margin:0}\r\n.azh-reviews .ah-count-pulse.ah-pulsing{animation:ah-final-heartbeat 2s ease-in-out 1!important;animation-play-state:running!important}\r\n@keyframes ah-final-heartbeat{\r\n 0%,30%,63%,100%{transform:scale(1)}\r\n 7%,40%,73%{transform:scale(1.5)}\r\n 13%,46%,79%{transform:scale(1.04)}\r\n 19%,52%,85%{transform:scale(1.3)}\r\n 26%,59%,94%{transform:scale(1)}\r\n}\r\n@media(max-width:680px){.azh-reviews .ah-count-pulse{flex:none}}\r\n@media(prefers-reduced-motion:reduce){.azh-reviews .ah-count-pulse.ah-pulsing{animation:none!important;transform:none!important}}\r\n\r\n.azh-reviews .ah-meter{column-gap:22px;padding-right:26px}\r\n.azh-reviews .ah-body{grid-template-columns:205px minmax(0,1fr)}\r\n.azh-reviews .ah-count-pulse{min-width:3ch;text-align:center;transform-origin:center center}\r\n@media(max-width:680px){.azh-reviews .ah-body{grid-template-columns:1fr}.azh-reviews .ah-meter{gap:10px 22px}.azh-reviews .ah-count-pulse{margin:0 6px}}\r\n\/* Bez zewn\u0119trznego cienia banera; z\u0142ota fala pozostaje. *\/\r\n.azh-reviews .ah-shell{box-shadow:inset 0 1px 0 #ffffff20!important}\r\n\r\n\/* Powolny stalowy refleks na czarnym tle, pod tre\u015bci\u0105. *\/\r\n.azh-reviews .ah-shell::before{\r\n background-image:linear-gradient(112deg,transparent 32%,rgba(183,192,202,.025) 41%,rgba(228,233,239,.115) 49%,rgba(157,168,181,.055) 55%,transparent 65%),repeating-linear-gradient(115deg,transparent 0 4px,#e0e2e406 4px 5px),linear-gradient(#d9dce005 1px,transparent 1px),linear-gradient(90deg,#d9dce005 1px,transparent 1px);\r\n background-size:300% 100%,auto,28px 28px,28px 28px;\r\n background-position:100% 50%,0 0,0 0,0 0;\r\n opacity:1;\r\n animation:ah-black-metal-shimmer 14s ease-in-out infinite;\r\n animation-play-state:paused;\r\n}\r\n.azh-reviews.ah-visible .ah-shell::before{animation-play-state:running}\r\n@keyframes ah-black-metal-shimmer{\r\n 0%,12%{background-position:100% 50%,0 0,0 0,0 0}\r\n 65%,100%{background-position:0% 50%,0 0,0 0,0 0}\r\n}\r\n@media(prefers-reduced-motion:reduce){.azh-reviews .ah-shell::before{animation:none!important;background-position:50% 50%,0 0,0 0,0 0}}\r\n\r\n\/* Refleks na ca\u0142ej karcie: osobna widoczna warstwa nad t\u0142em, pod tre\u015bci\u0105. *\/\r\n.azh-reviews .ah-shell::before{z-index:0;animation:none!important;background-image:repeating-linear-gradient(115deg,transparent 0 4px,#e0e2e406 4px 5px),linear-gradient(#d9dce005 1px,transparent 1px),linear-gradient(90deg,#d9dce005 1px,transparent 1px);background-size:auto,28px 28px,28px 28px}\r\n.azh-reviews .ah-shell::after{z-index:3}\r\n.azh-reviews .ah-body{position:relative;z-index:2}\r\n.azh-reviews .ah-metal-surface{position:absolute;inset:0;z-index:1;overflow:hidden;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,rgba(219,225,232,.04),transparent 45%,rgba(167,177,190,.04))}\r\n.azh-reviews .ah-metal-surface::before{content:\"\";position:absolute;inset:0;opacity:.85;background:linear-gradient(110deg,transparent 25%,rgba(162,176,192,.06) 36%,rgba(226,233,242,.21) 47%,rgba(251,252,255,.28) 50%,rgba(180,194,210,.12) 56%,transparent 70%);background-size:300% 100%;background-position:100% 50%;animation:ah-full-metal 11s ease-in-out infinite}\r\n@keyframes ah-full-metal{0%,8%{background-position:100% 50%;opacity:.5}48%{opacity:.95}85%,100%{background-position:0% 50%;opacity:.5}}\r\n@media(prefers-reduced-motion:reduce){.azh-reviews .ah-metal-surface::before{animation:none!important;background-position:50% 50%;opacity:.55}}\r\n@media(forced-colors:active){.azh-reviews .ah-metal-surface{display:none}}\r\n<\/style>\r\n<section class=\"azh-reviews\" aria-label=\"Opinie klient\u00f3w AZHOME w Google\">\r\n <div class=\"ah-shell\">\r\n  <span class=\"ah-metal-surface\" aria-hidden=\"true\"><\/span>\r\n  <div class=\"ah-header\"><span class=\"ah-brand\"><span class=\"ah-dot\" aria-hidden=\"true\"><\/span>AZHOME \/ Opinie klient\u00f3w<\/span><span>Google Maps \u2197<\/span><\/div>\r\n  <div class=\"ah-body\">\r\n   <div class=\"ah-meter\">\r\n    <div class=\"ah-google\" aria-label=\"Google\"><span aria-hidden=\"true\">G<\/span><span aria-hidden=\"true\">o<\/span><span aria-hidden=\"true\">o<\/span><span aria-hidden=\"true\">g<\/span><span aria-hidden=\"true\">l<\/span><span aria-hidden=\"true\">e<\/span><\/div>\r\n    <!-- Liczb\u0119 opinii aktualizuj zar\u00f3wno w data-count, jak i w tek\u015bcie oraz opisie dla czytnik\u00f3w. -->\r\n    <span class=\"ah-count-pulse\" aria-hidden=\"true\"><span class=\"ah-count\" data-count=\"541\">541<\/span><\/span><span class=\"ah-sr\">541 opinii klient\u00f3w w Google.<\/span>\r\n    <span class=\"ah-count-label\" aria-hidden=\"true\">opinii klient\u00f3w w Google<\/span>\r\n   <\/div>\r\n   <div class=\"ah-content\">\r\n    <div class=\"ah-rating\" aria-label=\"Ocena 5,0 na 5\"><span class=\"ah-score\" aria-hidden=\"true\"><span class=\"ah-runway\" style=\"--ah-delay:0s\">5,0<\/span> <small>\/ 5<\/small><\/span><span class=\"ah-stars\" aria-hidden=\"true\"><span class=\"ah-runway\" style=\"--ah-delay:0.32s\">\u2605<\/span><span class=\"ah-runway\" style=\"--ah-delay:0.64s\">\u2605<\/span><span class=\"ah-runway\" style=\"--ah-delay:0.96s\">\u2605<\/span><span class=\"ah-runway\" style=\"--ah-delay:1.28s\">\u2605<\/span><span class=\"ah-runway\" style=\"--ah-delay:1.6s\">\u2605<\/span><\/span><\/div>\r\n    <h2 class=\"ah-title\">Sprawd\u017a, jak oceniaj\u0105 nas klienci.<\/h2>\r\n    <p class=\"ah-description\">Poznaj opinie klient\u00f3w AZHOME. Zobacz, jak oceniaj\u0105 wsp\u00f3\u0142prac\u0119, zanim zdecydujesz o swoim wn\u0119trzu.<\/p>\r\n    <a class=\"ah-cta\" href=\"https:\/\/www.google.com\/maps?cid=10805085060045519056&amp;hl=pl\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" aria-label=\"Przeczytaj opinie o AZHOME w Google Maps \u2014 nowa karta\">Przeczytaj opinie w Google <span class=\"ah-arrow\" aria-hidden=\"true\">\u2197<\/span><\/a>\r\n   <\/div>\r\n  <\/div>\r\n  <div class=\"ah-foot\"><span>TW\u00d3J DOM. \u015aWIADOMY WYB\u00d3R.<\/span><span>AZHOME \u00b7 Do\u015bwiadczenia klient\u00f3w<\/span><\/div>\r\n <\/div>\r\n<div class=\"ah-energy\" aria-hidden=\"true\"><span class=\"ah-wave\"><\/span><span class=\"ah-wave\"><\/span><span class=\"ah-wave\"><\/span><\/div>\r\n<\/section>\r\n<script>\r\n(function(){\r\n'use strict';\r\nfunction init(){\r\n const reduced=window.matchMedia('(prefers-reduced-motion: reduce)');\r\n document.querySelectorAll('.azh-reviews:not([data-ah-ready])').forEach(function(root){\r\n  root.dataset.ahReady='true';\r\n  const count=root.querySelector('[data-count]');if(!count)return;\r\n  const pulse=count.parentElement,target=Number(count.dataset.count);\r\n  if(!Number.isFinite(target))return;\r\n  let frame=0,running=false,inView=false,start=0;\r\n  const countMs=2600,pulseMs=2000,pauseMs=1000,total=countMs+pulseMs+pauseMs;\r\n  const points=[[0,1],[.12,1.5],[.25,1],[.38,1.3],[.55,1],[1,1]];\r\n  pulse.style.setProperty('animation','none','important');\r\n  function scale(value){pulse.style.setProperty('transform','scale('+value+')','important');}\r\n  function stop(){running=false;cancelAnimationFrame(frame);scale(1);count.textContent=target.toLocaleString('pl-PL');}\r\n  function beat(t){\r\n   const phase=(t\/(pulseMs\/3))%1;\r\n   for(let i=1;i<points.length;i++){\r\n    if(phase<=points[i][0]){\r\n     const a=points[i-1],b=points[i],x=(phase-a[0])\/(b[0]-a[0]);\r\n     const eased=(1-Math.cos(Math.PI*x))\/2;\r\n     return a[1]+(b[1]-a[1])*eased;\r\n    }\r\n   }return 1;\r\n  }\r\n  function tick(now){\r\n   if(!running)return;\r\n   if(!root.isConnected){stop();return;}\r\n   const elapsed=(now-start)%total;\r\n   if(elapsed<countMs){\r\n    scale(1);\r\n    count.textContent=Math.floor(target*(1-Math.pow(1-elapsed\/countMs,3))).toLocaleString('pl-PL');\r\n   }else{\r\n    count.textContent=target.toLocaleString('pl-PL');\r\n    scale(elapsed<countMs+pulseMs?beat(elapsed-countMs):1);\r\n   }\r\n   frame=requestAnimationFrame(tick);\r\n  }\r\n  function update(){\r\n   const active=inView&&!document.hidden;\r\n   root.classList.toggle('ah-visible',active);\r\n   if(!active||reduced.matches){stop();return;}\r\n   if(!running){running=true;start=performance.now();count.textContent='0';scale(1);frame=requestAnimationFrame(tick);}\r\n  }\r\n  if('IntersectionObserver' in window){\r\n   const observer=new IntersectionObserver(function(entries){inView=entries[0].isIntersecting;update();},{threshold:0});observer.observe(root);\r\n  }else{inView=true;update();}\r\n  document.addEventListener('visibilitychange',update);\r\n  if(reduced.addEventListener)reduced.addEventListener('change',update);\r\n });\r\n}\r\nif(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init,{once:true});else init();\r\n})();\r\n<\/script>\r\n\n<!-- \/end HFCM by 99 Robots -->\n\n\n\n\n\n<!-- HFCM by 99 Robots - Snippet # 11: 2 filmy -->\n<section class=\"kk-video-duo\" aria-label=\"Filmy o karniszach elektrycznych Pozna\u0144\">\r\n  <style>\r\n    .kk-video-duo{\r\n      --kk-bg:#faf8f4;\r\n      --kk-card:#ffffff;\r\n      --kk-text:#1f1f1f;\r\n      --kk-muted:#6f6a63;\r\n      --kk-line:#e7ded2;\r\n      --kk-gold:#b99a5f;\r\n      --kk-gold-soft:#f3eadb;\r\n      --kk-dark:#171717;\r\n      font-family:inherit;\r\n      color:var(--kk-text);\r\n      margin:28px auto;\r\n      padding:clamp(18px,3vw,36px);\r\n      border:1px solid var(--kk-line);\r\n      border-radius:26px;\r\n      background:\r\n        radial-gradient(circle at 12% 10%, rgba(185,154,95,.14), transparent 34%),\r\n        radial-gradient(circle at 88% 82%, rgba(185,154,95,.10), transparent 36%),\r\n        linear-gradient(180deg,#fff 0%,var(--kk-bg) 100%);\r\n      box-shadow:0 16px 42px rgba(31,26,19,.06);\r\n      overflow:hidden;\r\n      box-sizing:border-box;\r\n    }\r\n\r\n    .kk-video-duo *{\r\n      box-sizing:border-box;\r\n    }\r\n\r\n    .kk-video-duo__head{\r\n      max-width:980px;\r\n      margin:0 auto 22px;\r\n      text-align:center;\r\n    }\r\n\r\n    .kk-video-duo__kicker{\r\n      display:inline-flex;\r\n      align-items:center;\r\n      gap:8px;\r\n      padding:7px 13px;\r\n      border:1px solid var(--kk-line);\r\n      border-radius:999px;\r\n      background:#fff;\r\n      color:var(--kk-muted);\r\n      font-size:12px;\r\n      letter-spacing:.08em;\r\n      text-transform:uppercase;\r\n      font-weight:800;\r\n      margin-bottom:12px;\r\n    }\r\n\r\n    .kk-video-duo__kicker:before{\r\n      content:\"\";\r\n      width:7px;\r\n      height:7px;\r\n      border-radius:50%;\r\n      background:var(--kk-gold);\r\n      box-shadow:0 0 0 5px var(--kk-gold-soft);\r\n      flex:0 0 auto;\r\n    }\r\n\r\n    .kk-video-duo h2,\r\n    .kk-video-duo h3{\r\n      color:var(--kk-dark);\r\n    }\r\n\r\n    .kk-video-duo__head h3{\r\n      margin:0 0 10px;\r\n      font-size:clamp(25px,3vw,38px);\r\n      line-height:1.13;\r\n      letter-spacing:-.035em;\r\n      font-weight:850;\r\n    }\r\n\r\n    .kk-video-duo__lead{\r\n      margin:0 auto;\r\n      max-width:820px;\r\n      color:var(--kk-muted);\r\n      font-size:16px;\r\n      line-height:1.75;\r\n    }\r\n\r\n    .kk-video-duo__grid{\r\n      display:grid;\r\n      grid-template-columns:1fr 1fr;\r\n      grid-template-areas:\r\n        \"video1 video2\"\r\n        \"text1 text2\";\r\n      gap:16px;\r\n      align-items:start;\r\n    }\r\n\r\n    .kk-video-duo__item--one{display:contents;}\r\n    .kk-video-duo__item--two{display:contents;}\r\n\r\n    .kk-video-duo__media{\r\n      position:relative;\r\n      border-radius:22px;\r\n      padding:12px;\r\n      border:1px solid rgba(185,154,95,.34);\r\n      background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(243,234,219,.74));\r\n      box-shadow:0 18px 40px rgba(31,26,19,.09);\r\n      overflow:hidden;\r\n      min-width:0;\r\n    }\r\n\r\n    .kk-video-duo__item--one .kk-video-duo__media{grid-area:video1;}\r\n    .kk-video-duo__item--two .kk-video-duo__media{grid-area:video2;}\r\n\r\n    .kk-video-duo__media:before{\r\n      content:\"\";\r\n      position:absolute;\r\n      inset:-45%;\r\n      background:\r\n        radial-gradient(circle at 25% 25%, rgba(185,154,95,.20), transparent 34%),\r\n        radial-gradient(circle at 75% 65%, rgba(255,255,255,.72), transparent 36%);\r\n      filter:blur(12px);\r\n      opacity:.85;\r\n      pointer-events:none;\r\n    }\r\n\r\n    .kk-video-duo__frame{\r\n      position:relative;\r\n      z-index:1;\r\n      width:100%;\r\n      aspect-ratio:16\/9;\r\n      border-radius:16px;\r\n      overflow:hidden;\r\n      background:#111;\r\n      box-shadow:0 10px 28px rgba(0,0,0,.16);\r\n    }\r\n\r\n    .kk-video-duo__frame iframe,\r\n    .kk-video-duo__frame video{\r\n      position:absolute;\r\n      inset:0;\r\n      width:100%;\r\n      height:100%;\r\n      border:0;\r\n      display:block;\r\n      object-fit:cover;\r\n    }\r\n\r\n    .kk-video-duo__content{\r\n      background:rgba(255,255,255,.92);\r\n      border:1px solid var(--kk-line);\r\n      border-radius:22px;\r\n      padding:20px;\r\n      box-shadow:0 12px 30px rgba(31,26,19,.055);\r\n      min-height:100%;\r\n    }\r\n\r\n    .kk-video-duo__item--one .kk-video-duo__content{grid-area:text1;}\r\n    .kk-video-duo__item--two .kk-video-duo__content{grid-area:text2;}\r\n\r\n    .kk-video-duo__label{\r\n      display:inline-flex;\r\n      align-items:center;\r\n      justify-content:center;\r\n      padding:7px 11px;\r\n      border-radius:999px;\r\n      border:1px solid rgba(185,154,95,.34);\r\n      background:linear-gradient(135deg,#fff,var(--kk-gold-soft));\r\n      color:#4b4032;\r\n      font-size:12px;\r\n      font-weight:900;\r\n      letter-spacing:.04em;\r\n      text-transform:uppercase;\r\n      margin-bottom:12px;\r\n    }\r\n\r\n    .kk-video-duo__content h3{\r\n      margin:0 0 10px;\r\n      font-size:clamp(20px,2vw,26px);\r\n      line-height:1.18;\r\n      letter-spacing:-.025em;\r\n    }\r\n\r\n    .kk-video-duo__text{\r\n      margin:0 0 12px;\r\n      color:var(--kk-muted);\r\n      font-size:15.5px;\r\n      line-height:1.75;\r\n    }\r\n\r\n    .kk-video-duo__text strong{\r\n      color:var(--kk-text);\r\n      font-weight:850;\r\n    }\r\n\r\n    .kk-video-duo__tags{\r\n      display:flex;\r\n      flex-wrap:wrap;\r\n      gap:8px;\r\n      margin-top:16px;\r\n    }\r\n\r\n    .kk-video-duo__tag{\r\n      display:inline-flex;\r\n      align-items:center;\r\n      justify-content:center;\r\n      padding:8px 11px;\r\n      border-radius:999px;\r\n      background:#fff;\r\n      border:1px solid var(--kk-line);\r\n      color:#51483c;\r\n      font-size:13px;\r\n      font-weight:800;\r\n      white-space:nowrap;\r\n    }\r\n\r\n    .kk-video-duo__cta{\r\n      display:flex;\r\n      flex-wrap:wrap;\r\n      gap:10px;\r\n      justify-content:center;\r\n      margin-top:24px;\r\n      padding-top:22px;\r\n      border-top:1px solid rgba(0,0,0,.08);\r\n    }\r\n\r\n    .kk-video-duo__btn{\r\n      display:inline-flex;\r\n      align-items:center;\r\n      justify-content:center;\r\n      min-height:44px;\r\n      padding:0 18px;\r\n      border-radius:999px;\r\n      background:linear-gradient(135deg,#d7bd7c,#a8823c);\r\n      color:#1d1d1d !important;\r\n      text-decoration:none !important;\r\n      font-weight:850;\r\n      box-shadow:0 10px 24px rgba(0,0,0,.14);\r\n      transition:transform .18s ease, box-shadow .18s ease;\r\n    }\r\n\r\n    .kk-video-duo__btn:hover{\r\n      transform:translateY(-1px);\r\n      box-shadow:0 14px 30px rgba(0,0,0,.18);\r\n    }\r\n\r\n    .kk-video-duo__btn--dark{\r\n      background:#111;\r\n      color:#fff !important;\r\n    }\r\n\r\n    @media (max-width:900px){\r\n      .kk-video-duo__grid{\r\n        grid-template-columns:1fr;\r\n        grid-template-areas:\r\n          \"video1\"\r\n          \"text1\"\r\n          \"video2\"\r\n          \"text2\";\r\n      }\r\n\r\n      .kk-video-duo__content{\r\n        text-align:center;\r\n      }\r\n\r\n      .kk-video-duo__tags{\r\n        justify-content:center;\r\n      }\r\n    }\r\n\r\n    @media (max-width:560px){\r\n      .kk-video-duo{\r\n        border-radius:18px;\r\n        padding:18px;\r\n      }\r\n\r\n      .kk-video-duo__head{\r\n        text-align:left;\r\n      }\r\n\r\n      .kk-video-duo__kicker{\r\n        margin-bottom:10px;\r\n      }\r\n\r\n      .kk-video-duo__media{\r\n        padding:8px;\r\n        border-radius:18px;\r\n      }\r\n\r\n      .kk-video-duo__frame{\r\n        border-radius:13px;\r\n      }\r\n\r\n      .kk-video-duo__content{\r\n        padding:17px;\r\n        border-radius:18px;\r\n        text-align:left;\r\n      }\r\n\r\n      .kk-video-duo__tags{\r\n        justify-content:flex-start;\r\n      }\r\n\r\n      .kk-video-duo__tag,\r\n      .kk-video-duo__btn{\r\n        width:100%;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"kk-video-duo__head\">\r\n    <div class=\"kk-video-duo__kicker\">Karnisze elektryczne Pozna\u0144<\/div>\r\n    <h3>Zobacz, jak karnisze elektryczne pracuj\u0105 w prawdziwym wn\u0119trzu.<\/h3>\r\n    <p class=\"kk-video-duo__lead\">\r\n      Przed wyborem karnisza warto zobaczy\u0107 nie tylko produkt, ale te\u017c jego prac\u0119 po monta\u017cu. Filmy pokazuj\u0105 p\u0142ynny ruch zas\u0142on, mo\u017cliwo\u015bci sterowania oraz podstawowe zasady konfiguracji systemu do domu, mieszkania lub apartamentu w Poznaniu.\r\n    <\/p>\r\n  <\/div>\r\n\r\n  <div class=\"kk-video-duo__grid\">\r\n\r\n    <div class=\"kk-video-duo__item kk-video-duo__item--one\">\r\n      <div class=\"kk-video-duo__media\">\r\n        <div class=\"kk-video-duo__frame\">\r\n          <video\r\n            controls\r\n            poster=\"https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2024\/10\/karnisze-poznan-1.webp\"\r\n            src=\"https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2024\/10\/karnisze-poznan.mp4\"\r\n            playsinline>\r\n          <\/video>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"kk-video-duo__content\">\r\n        <div class=\"kk-video-duo__label\">Realizacja<\/div>\r\n        <h3>Karnisz elektryczny i zas\u0142ony w praktyce<\/h3>\r\n        <p class=\"kk-video-duo__text\">\r\n          Na nagraniu mo\u017cesz zobaczy\u0107, jak pracuje karnisz elektryczny po zamontowaniu. Zas\u0142ona przesuwa si\u0119 spokojnie, r\u00f3wno i bez gwa\u0142townych ruch\u00f3w, co ma du\u017ce znaczenie przy szerokich oknach, wysokich przeszkleniach i ci\u0119\u017cszych tkaninach.\r\n        <\/p>\r\n        <p class=\"kk-video-duo__text\">\r\n          Dobrze dobrany system nie powinien zwraca\u0107 na siebie uwagi. Najwa\u017cniejszy jest efekt: wygoda sterowania, estetyczne prowadzenie tkaniny i uporz\u0105dkowana oprawa okna. Karnisz mo\u017ce by\u0107 obs\u0142ugiwany pilotem, aplikacj\u0105 albo po\u0142\u0105czony z automatyk\u0105 smart home.\r\n        <\/p>\r\n        <div class=\"kk-video-duo__tags\" aria-label=\"Tematy filmu\">\r\n          <span class=\"kk-video-duo__tag\">P\u0142ynny ruch<\/span>\r\n          <span class=\"kk-video-duo__tag\">Realizacja wn\u0119trza<\/span>\r\n          <span class=\"kk-video-duo__tag\">Sterowanie zas\u0142onami<\/span>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"kk-video-duo__item kk-video-duo__item--two\">\r\n      <div class=\"kk-video-duo__media\">\r\n        <div class=\"kk-video-duo__frame\">\r\n          <iframe\r\n            src=\"https:\/\/www.youtube.com\/embed\/7E2yoT2i6GQ\"\r\n            title=\"Karnisze elektryczne A-OK \u2014 konfiguracja i sterowanie\"\r\n            loading=\"lazy\"\r\n            allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n            referrerpolicy=\"strict-origin-when-cross-origin\"\r\n            allowfullscreen>\r\n          <\/iframe>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"kk-video-duo__content\">\r\n        <div class=\"kk-video-duo__label\">Poradnik<\/div>\r\n        <h3>Konfiguracja karnisza A-OK bez zgadywania<\/h3>\r\n        <p class=\"kk-video-duo__text\">\r\n          W poradniku pokazujemy najwa\u017cniejsze ustawienia karnisza elektrycznego A-OK. To pomocne, je\u015bli chcesz lepiej zrozumie\u0107, jak dzia\u0142a pilot, aplikacja, kana\u0142y sterowania oraz podstawowe ustawienia pracy nap\u0119du.\r\n        <\/p>\r\n        <p class=\"kk-video-duo__text\">\r\n          Przed zam\u00f3wieniem warto zwr\u00f3ci\u0107 uwag\u0119 na kilka detali: d\u0142ugo\u015b\u0107 szyny, stron\u0119 silnika, ci\u0119\u017car zas\u0142ony, kierunek rozsuwania, miejsce odk\u0142adania tkaniny i typ sterowania. Dzi\u0119ki temu karnisz jest lepiej dopasowany do konkretnego wn\u0119trza w Poznaniu.\r\n        <\/p>\r\n        <div class=\"kk-video-duo__tags\" aria-label=\"Tematy poradnika\">\r\n          <span class=\"kk-video-duo__tag\">A-OK<\/span>\r\n          <span class=\"kk-video-duo__tag\">Pilot \/ aplikacja<\/span>\r\n          <span class=\"kk-video-duo__tag\">Wi-Fi \/ Zigbee<\/span>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n  <div class=\"kk-video-duo__cta\">\r\n    <a class=\"kk-video-duo__btn kk-video-duo__btn--dark\" href=\"tel:+48667057777\">Wyceny: +48 667 057 777<\/a>\r\n    <a class=\"kk-video-duo__btn\" href=\"mailto:kontakt@karniszepoznan.pl\">kontakt@karniszepoznan.pl<\/a>\r\n  <\/div>\r\n<\/section>\n<!-- \/end HFCM by 99 Robots -->\n\n\n\n<!-- HFCM by 99 Robots - Snippet # 2: tabelka cen elektrycznych -->\n<section class=\"cc-price-section\" aria-label=\"Cennik karniszy elektrycznych AZHOME\">\r\n\r\n  <h3 class=\"cc-price-title\">Cennik karniszy elektrycznych AZHOME<\/h3>\r\n<p class=\"cc-price-sub\">\r\n  Wy\u015blij wymiary na mail\r\n  <a href=\"mailto:kontakt@karniszepoznan.pl\" style=\"font-weight:900;text-decoration:underline;\">\r\n    kontakt@karniszepoznan.pl\r\n  <\/a>,\r\n  a my przygotujemy kalkulacj\u0119.\r\n<\/p>\r\n\r\n  <!-- ===================== DESKTOP ===================== -->\r\n  <div class=\"cc-table cc-table--desktop\" role=\"region\" aria-label=\"Tabela cenowa desktop\">\r\n    <div class=\"cc-table-scroll\" tabindex=\"0\">\r\n      <table class=\"cc-pricetable\" data-cc-desktop-table>\r\n        <thead>\r\n          <tr>\r\n            <th data-col=\"0\">Rodzaj<\/th>\r\n            <th data-col=\"100\">100<\/th><th data-col=\"150\">150<\/th><th data-col=\"200\">200<\/th><th data-col=\"250\">250<\/th><th data-col=\"300\">300<\/th><th data-col=\"350\">350<\/th>\r\n            <th data-col=\"400\">400<\/th><th data-col=\"450\">450<\/th><th data-col=\"500\">500<\/th><th data-col=\"550\">550<\/th><th data-col=\"600\">600<\/th>\r\n            <th data-col=\"650\">650<\/th><th data-col=\"700\">700<\/th><th data-col=\"750\">750<\/th><th data-col=\"800\">800<\/th><th data-col=\"850\">850<\/th><th data-col=\"900\">900<\/th>\r\n            <th data-col=\"950\">950<\/th><th data-col=\"1000\">1000<\/th><th data-col=\"1050\">1050<\/th><th data-col=\"1100\">1100<\/th><th data-col=\"1150\">1150<\/th><th data-col=\"1200\">1200<\/th>\r\n          <\/tr>\r\n        <\/thead>\r\n\r\n        <tbody>\r\n          <tr data-type=\"AM50\" data-label=\"Karnisz AM50\">\r\n            <th data-col=\"0\">Karnisz AM50<\/th>\r\n            <td data-price=\"973\"  data-col=\"100\">973<\/td>\r\n            <td data-price=\"1042\" data-col=\"150\">1042<\/td>\r\n            <td data-price=\"1111\" data-col=\"200\">1111<\/td>\r\n            <td data-price=\"1180\" data-col=\"250\">1180<\/td>\r\n            <td data-price=\"1249\" data-col=\"300\">1249<\/td>\r\n            <td data-price=\"1317\" data-col=\"350\">1317<\/td>\r\n            <td data-price=\"1386\" data-col=\"400\">1386<\/td>\r\n            <td data-price=\"1453\" data-col=\"450\">1453<\/td>\r\n            <td data-price=\"1522\" data-col=\"500\">1522<\/td>\r\n            <td data-price=\"1591\" data-col=\"550\">1591<\/td>\r\n            <td data-price=\"1659\" data-col=\"600\">1659<\/td>\r\n            <td class=\"cc-na\" data-col=\"650\">\u2014<\/td><td class=\"cc-na\" data-col=\"700\">\u2014<\/td><td class=\"cc-na\" data-col=\"750\">\u2014<\/td><td class=\"cc-na\" data-col=\"800\">\u2014<\/td>\r\n            <td class=\"cc-na\" data-col=\"850\">\u2014<\/td><td class=\"cc-na\" data-col=\"900\">\u2014<\/td><td class=\"cc-na\" data-col=\"950\">\u2014<\/td><td class=\"cc-na\" data-col=\"1000\">\u2014<\/td>\r\n            <td class=\"cc-na\" data-col=\"1050\">\u2014<\/td><td class=\"cc-na\" data-col=\"1100\">\u2014<\/td><td class=\"cc-na\" data-col=\"1150\">\u2014<\/td><td class=\"cc-na\" data-col=\"1200\">\u2014<\/td>\r\n          <\/tr>\r\n\r\n          <tr data-type=\"AM50_BAT\" data-label=\"Karnisz AM50 bateryjny\">\r\n            <th data-col=\"0\">Karnisz AM50 bateryjny<\/th>\r\n            <td data-price=\"1192\" data-col=\"100\">1192<\/td>\r\n            <td data-price=\"1252\" data-col=\"150\">1252<\/td>\r\n            <td data-price=\"1312\" data-col=\"200\">1312<\/td>\r\n            <td data-price=\"1373\" data-col=\"250\">1373<\/td>\r\n            <td data-price=\"1443\" data-col=\"300\">1443<\/td>\r\n            <td data-price=\"1493\" data-col=\"350\">1493<\/td>\r\n            <td data-price=\"1553\" data-col=\"400\">1553<\/td>\r\n            <td data-price=\"1614\" data-col=\"450\">1614<\/td>\r\n            <td data-price=\"1674\" data-col=\"500\">1674<\/td>\r\n            <td data-price=\"1734\" data-col=\"550\">1734<\/td>\r\n            <td data-price=\"1795\" data-col=\"600\">1795<\/td>\r\n            <td class=\"cc-na\" data-col=\"650\">\u2014<\/td><td class=\"cc-na\" data-col=\"700\">\u2014<\/td><td class=\"cc-na\" data-col=\"750\">\u2014<\/td><td class=\"cc-na\" data-col=\"800\">\u2014<\/td>\r\n            <td class=\"cc-na\" data-col=\"850\">\u2014<\/td><td class=\"cc-na\" data-col=\"900\">\u2014<\/td><td class=\"cc-na\" data-col=\"950\">\u2014<\/td><td class=\"cc-na\" data-col=\"1000\">\u2014<\/td>\r\n            <td class=\"cc-na\" data-col=\"1050\">\u2014<\/td><td class=\"cc-na\" data-col=\"1100\">\u2014<\/td><td class=\"cc-na\" data-col=\"1150\">\u2014<\/td><td class=\"cc-na\" data-col=\"1200\">\u2014<\/td>\r\n          <\/tr>\r\n\r\n          <tr data-type=\"AM75_WIFI\" data-label=\"Karnisz AM75 Wi-Fi \/ 5W\">\r\n            <th data-col=\"0\">Karnisz AM75 Wi-Fi \/ 5W<\/th>\r\n            <td data-price=\"1068\" data-col=\"100\">1068<\/td>\r\n            <td data-price=\"1137\" data-col=\"150\">1137<\/td>\r\n            <td data-price=\"1205\" data-col=\"200\">1205<\/td>\r\n            <td data-price=\"1274\" data-col=\"250\">1274<\/td>\r\n            <td data-price=\"1343\" data-col=\"300\">1343<\/td>\r\n            <td data-price=\"1412\" data-col=\"350\">1412<\/td>\r\n            <td data-price=\"1481\" data-col=\"400\">1481<\/td>\r\n            <td data-price=\"1547\" data-col=\"450\">1547<\/td>\r\n            <td data-price=\"1616\" data-col=\"500\">1616<\/td>\r\n            <td data-price=\"1685\" data-col=\"550\">1685<\/td>\r\n            <td data-price=\"1754\" data-col=\"600\">1754<\/td>\r\n            <td data-price=\"1823\" data-col=\"650\">1823<\/td>\r\n            <td data-price=\"1892\" data-col=\"700\">1892<\/td>\r\n            <td data-price=\"1961\" data-col=\"750\">1961<\/td>\r\n            <td data-price=\"2030\" data-col=\"800\">2030<\/td>\r\n            <td data-price=\"2098\" data-col=\"850\">2098<\/td>\r\n            <td data-price=\"2165\" data-col=\"900\">2165<\/td>\r\n            <td data-price=\"2234\" data-col=\"950\">2234<\/td>\r\n            <td data-price=\"2303\" data-col=\"1000\">2303<\/td>\r\n            <td data-price=\"2371\" data-col=\"1050\">2371<\/td>\r\n            <td data-price=\"2440\" data-col=\"1100\">2440<\/td>\r\n            <td data-price=\"2509\" data-col=\"1150\">2509<\/td>\r\n            <td data-price=\"2578\" data-col=\"1200\">2578<\/td>\r\n          <\/tr>\r\n\r\n          <tr data-type=\"AM75_ZIGBEE\" data-label=\"Karnisz AM75 Zigbee\">\r\n            <th data-col=\"0\">Karnisz AM75 Zigbee<\/th>\r\n            <td data-price=\"1117\" data-col=\"100\">1117<\/td>\r\n            <td data-price=\"1186\" data-col=\"150\">1186<\/td>\r\n            <td data-price=\"1255\" data-col=\"200\">1255<\/td>\r\n            <td data-price=\"1323\" data-col=\"250\">1323<\/td>\r\n            <td data-price=\"1392\" data-col=\"300\">1392<\/td>\r\n            <td data-price=\"1461\" data-col=\"350\">1461<\/td>\r\n            <td data-price=\"1530\" data-col=\"400\">1530<\/td>\r\n            <td data-price=\"1597\" data-col=\"450\">1597<\/td>\r\n            <td data-price=\"1665\" data-col=\"500\">1665<\/td>\r\n            <td data-price=\"1734\" data-col=\"550\">1734<\/td>\r\n            <td data-price=\"1803\" data-col=\"600\">1803<\/td>\r\n            <td data-price=\"1872\" data-col=\"650\">1872<\/td>\r\n            <td data-price=\"1941\" data-col=\"700\">1941<\/td>\r\n            <td data-price=\"2010\" data-col=\"750\">2010<\/td>\r\n            <td data-price=\"2079\" data-col=\"800\">2079<\/td>\r\n            <td data-price=\"2148\" data-col=\"850\">2148<\/td>\r\n            <td data-price=\"2214\" data-col=\"900\">2214<\/td>\r\n            <td data-price=\"2283\" data-col=\"950\">2283<\/td>\r\n            <td data-price=\"2352\" data-col=\"1000\">2352<\/td>\r\n            <td data-price=\"2421\" data-col=\"1050\">2421<\/td>\r\n            <td data-price=\"2490\" data-col=\"1100\">2490<\/td>\r\n            <td data-price=\"2558\" data-col=\"1150\">2558<\/td>\r\n            <td data-price=\"2627\" data-col=\"1200\">2627<\/td>\r\n          <\/tr>\r\n        <\/tbody>\r\n      <\/table>\r\n    <\/div>\r\n\r\n    <div class=\"cc-table-note\">\r\n      <strong>TIP dla Ciebie<\/strong> kliknij w dowoln\u0105 cen\u0119 \u2014 pod\u015bwietl\u0119 wiersz i kolumn\u0119 oraz poka\u017c\u0119 szczeg\u00f3\u0142 w dymku.\r\n    <\/div>\r\n\r\n    <!-- Tooltip -->\r\n    <div class=\"cc-tip\" data-cc-tip role=\"status\" aria-live=\"polite\" aria-hidden=\"true\"><\/div>\r\n  <\/div>\r\n\r\n  <!-- ===================== MOBILE ===================== -->\r\n  <div class=\"cc-table cc-table--mobile\" aria-label=\"Tabela cenowa mobile\">\r\n    <div class=\"cc-mobile-head\">\r\n      <label class=\"cc-mobile-field\">\r\n        <span>Wybierz rodzaj karnisza<\/span>\r\n        <select class=\"cc-mobile-select\" data-cc-mobile-select>\r\n          <option value=\"AM50\" selected>Karnisz AM50<\/option>\r\n          <option value=\"AM50_BAT\">Karnisz AM50 bateryjny<\/option>\r\n          <option value=\"AM75_WIFI\">Karnisz AM75 Wi-Fi \/ 5W<\/option>\r\n          <option value=\"AM75_ZIGBEE\">Karnisz AM75 Zigbee<\/option>\r\n        <\/select>\r\n      <\/label>\r\n\r\n      <div class=\"cc-mobile-chip\" data-cc-mobile-max>Max: \u2014<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"cc-mobile-quick\">\r\n      <label class=\"cc-mobile-field\">\r\n        <span>Wpisz d\u0142ugo\u015b\u0107 (cm)<\/span>\r\n        <input class=\"cc-mobile-input\" data-cc-mobile-len type=\"number\" inputmode=\"numeric\" min=\"80\" max=\"1200\" step=\"1\" placeholder=\"np. 101\">\r\n      <\/label>\r\n\r\n      <div class=\"cc-mobile-result\" data-cc-mobile-result aria-live=\"polite\">\r\n        <div class=\"cc-mr-title\">Wycena<\/div>\r\n        <div class=\"cc-mr-line\" data-cc-mobile-bracket>\u2014<\/div>\r\n        <div class=\"cc-mr-price\" data-cc-mobile-price>\u2014<\/div>\r\n        <div class=\"cc-mr-hint\" data-cc-mobile-hint>Wpisz d\u0142ugo\u015b\u0107, a poka\u017c\u0119 pr\u00f3g i cen\u0119.<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"cc-mobile-tablewrap\">\r\n      <table class=\"cc-mobile-table\" data-cc-mobile-table>\r\n        <thead>\r\n          <tr>\r\n            <th>Pr\u00f3g d\u0142ugo\u015bci<\/th>\r\n            <th>Cena<\/th>\r\n          <\/tr>\r\n        <\/thead>\r\n        <tbody><!-- JS --><\/tbody>\r\n      <\/table>\r\n    <\/div>\r\n\r\n    <div class=\"cc-table-note\">\r\n      Wy\u015blij wymiary na mail <stron>kontakt@karniszewarszawa.pl<\/stron>, a my przygotujemy kalkulacj\u0119.\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- ===================== MIN\/MAX ===================== -->\r\n  <h4 class=\"cc-price-title cc-price-title--sm\">Minimalne i maksymalne d\u0142ugo\u015bci<\/h4>\r\n  <div class=\"cc-limits\">\r\n    <table class=\"cc-limitstable\">\r\n      <thead>\r\n        <tr>\r\n          <th>Rodzaj<\/th>\r\n          <th>Minimalna d\u0142ugo\u015b\u0107<\/th>\r\n          <th>Maksymalna d\u0142ugo\u015b\u0107<\/th>\r\n          <th>Uwagi<\/th>\r\n        <\/tr>\r\n      <\/thead>\r\n      <tbody>\r\n        <tr><th>AM50<\/th><td>80 cm<\/td><td>600 cm<\/td><td>Progi cenowe od 100 cm<\/td><\/tr>\r\n        <tr><th>AM50 bateryjny<\/th><td>80 cm<\/td><td>600 cm<\/td><td>Progi cenowe od 100 cm<\/td><\/tr>\r\n        <tr><th>AM75 Wi-Fi \/ 5W<\/th><td>80 cm<\/td><td>1200 cm<\/td><td>Progi cenowe od 100 cm<\/td><\/tr>\r\n        <tr><th>AM75 Zigbee<\/th><td>80 cm<\/td><td>1200 cm<\/td><td>Progi cenowe od 100 cm<\/td><\/tr>\r\n      <\/tbody>\r\n    <\/table>\r\n\r\n    <div class=\"cc-limits-note\">\r\n      Dla d\u0142ugo\u015bci 80\u2013100 cm kalkulacja jest liczona jak dla 100 cm.\r\n    <\/div>\r\n  <\/div>\r\n\r\n<\/section>\r\n\r\n<style>\r\n  .cc-price-section{max-width:980px;margin:26px auto;padding:0 12px;}\r\n  .cc-price-title{margin:0 0 8px 0;font-size:18px;line-height:1.25;}\r\n  .cc-price-title--sm{margin-top:18px;font-size:16px;}\r\n  .cc-price-sub{margin:0 0 12px 0;font-size:13px;line-height:1.35;color:#555;}\r\n\r\n  .cc-table-note,.cc-limits-note{\r\n    margin-top:10px;font-size:12px;line-height:1.35;color:#333;\r\n    padding:10px 12px;border-radius:12px;\r\n    border:1px solid rgba(0,0,0,.08);background:#fff;\r\n  }\r\n\r\n  \/* ===== DESKTOP ===== *\/\r\n  .cc-table--desktop{position:relative;}\r\n  .cc-table-scroll{\r\n    overflow-x:auto;-webkit-overflow-scrolling:touch;\r\n    border:1px solid rgba(0,0,0,.08);border-radius:14px;background:#fff;\r\n  }\r\n\r\n  .cc-pricetable{\r\n    border-collapse:separate;border-spacing:0;\r\n    min-width:980px;width:100%;\r\n    font-size:12px;line-height:1.25;\r\n  }\r\n\r\n  .cc-pricetable th,.cc-pricetable td{\r\n    padding:10px 10px;text-align:center;white-space:nowrap;\r\n    border-bottom:1px solid rgba(0,0,0,.06);\r\n    border-right:1px solid rgba(0,0,0,.06);\r\n  }\r\n\r\n  \/* ===== STICKY: bez prze\u015bwit\u00f3w + poprawny naro\u017cnik ===== *\/\r\n  .cc-pricetable thead th{\r\n    position:sticky;top:0;z-index:3;\r\n    background:#FFF4CD;            \/* pe\u0142ne t\u0142o (bez rgba) *\/\r\n    font-weight:900;\r\n  }\r\n\r\n  .cc-pricetable tbody th{\r\n    position:sticky;left:0;z-index:5;\r\n    text-align:left;font-weight:900;\r\n    background:#FAFAFA;            \/* pe\u0142ne t\u0142o (bez rgba) *\/\r\n    box-shadow: 10px 0 18px rgba(0,0,0,.06);\r\n    background-clip: padding-box;\r\n  }\r\n\r\n  .cc-pricetable thead th:first-child{\r\n    position:sticky;top:0;left:0;\r\n    z-index:7;                     \/* najwy\u017cej *\/\r\n    background:#FFF4CD;            \/* pe\u0142ne t\u0142o *\/\r\n    box-shadow: 10px 0 18px rgba(0,0,0,.06);\r\n    background-clip: padding-box;\r\n    text-align:left;\r\n  }\r\n\r\n  .cc-pricetable td.cc-na{color:#999;background:rgba(0,0,0,.015);}\r\n\r\n  \/* klikane ceny *\/\r\n  .cc-pricetable td[data-price]{\r\n    cursor:pointer;\r\n    transition: background-color .12s ease, box-shadow .12s ease, transform .05s ease;\r\n  }\r\n  .cc-pricetable td[data-price]:active{transform:translateY(1px);}\r\n\r\n  \/* zaznaczenia (wisienka) *\/\r\n  .cc-pricetable.is-picked td,\r\n  .cc-pricetable.is-picked th{transition: background-color .12s ease, box-shadow .12s ease;}\r\n  .cc-pricetable .cc-hl-row td,\r\n  .cc-pricetable .cc-hl-row th{background: rgba(255, 244, 205, .38);}\r\n  .cc-pricetable .cc-hl-col{background: rgba(0, 82, 204, .06);}\r\n  .cc-pricetable .cc-hl-cell{\r\n    background: rgba(34,139,34,.10) !important;\r\n    box-shadow: inset 0 0 0 2px rgba(34,139,34,.28);\r\n  }\r\n\r\n  \/* tooltip *\/\r\n  .cc-tip{\r\n    position:absolute;\r\n    display:none;\r\n    z-index:50;\r\n    max-width:260px;\r\n    padding:10px 12px;\r\n    border-radius:12px;\r\n    border:1px solid rgba(0,0,0,.10);\r\n    background:#fff;\r\n    box-shadow:0 14px 40px rgba(0,0,0,.16);\r\n    font-size:12px;line-height:1.3;color:#111;\r\n  }\r\n  .cc-tip strong{font-weight:900;}\r\n  .cc-tip small{font-size:11px;opacity:.82;}\r\n  .cc-tip::after{\r\n    content:\"\";\r\n    position:absolute;\r\n    left:18px;\r\n    top:100%;\r\n    border:8px solid transparent;\r\n    border-top-color:#fff;\r\n    filter: drop-shadow(0 2px 1px rgba(0,0,0,.08));\r\n  }\r\n\r\n  \/* ===== MOBILE ===== *\/\r\n  .cc-table--mobile{display:none;}\r\n\r\n  .cc-mobile-head{display:flex;gap:10px;align-items:flex-end;justify-content:space-between;margin:10px 0;}\r\n  .cc-mobile-field{flex:1;min-width:0;text-align:left;}\r\n  .cc-mobile-field span{display:block;font-size:12px;color:#555;margin-bottom:6px;}\r\n  .cc-mobile-select,.cc-mobile-input{\r\n    width:100%;padding:11px 12px;border:1px solid rgba(0,0,0,.14);\r\n    border-radius:12px;background:#fff;font-weight:800;outline:none;\r\n  }\r\n  .cc-mobile-select:focus,.cc-mobile-input:focus{\r\n    border-color: rgba(184,137,45,.85);\r\n    box-shadow: 0 0 0 3px rgba(184,137,45,.18);\r\n    background-color: rgba(255, 244, 205, .55);\r\n  }\r\n  .cc-mobile-chip{\r\n    flex:0 0 auto;padding:10px 10px;border-radius:999px;\r\n    border:1px solid rgba(0,0,0,.10);background:rgba(0,0,0,.02);\r\n    font-size:12px;font-weight:900;color:#333;white-space:nowrap;\r\n  }\r\n  .cc-mobile-quick{margin:10px 0 12px 0;display:grid;gap:10px;}\r\n  .cc-mobile-result{\r\n    border:1px solid rgba(34,139,34,.22);\r\n    background:rgba(34,139,34,.08);\r\n    border-radius:14px;\r\n    padding:12px 12px;\r\n    text-align:left;\r\n  }\r\n  .cc-mobile-result.is-error{border-color: rgba(176,0,32,.25);background: rgba(176,0,32,.08);}\r\n  .cc-mr-title{font-weight:900;margin-bottom:6px;}\r\n  .cc-mr-line{font-size:12px;color:#333;margin-bottom:6px;}\r\n  .cc-mr-price{font-weight:900;font-size:18px;color:#1f7a2e;margin-bottom:4px;}\r\n  .cc-mobile-result.is-error .cc-mr-price{color:#b00020;}\r\n  .cc-mr-price small{font-size:12px;font-weight:800;opacity:.85;margin-left:6px;}\r\n  .cc-mr-hint{font-size:12px;color:#333;opacity:.9;}\r\n\r\n  .cc-mobile-tablewrap{border:1px solid rgba(0,0,0,.08);border-radius:14px;overflow:hidden;background:#fff;}\r\n  .cc-mobile-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;line-height:1.25;}\r\n  .cc-mobile-table thead th{\r\n    background:#FFF4CD;\r\n    font-weight:900;text-align:left;padding:12px 12px;border-bottom:1px solid rgba(0,0,0,.06);\r\n  }\r\n  .cc-mobile-table thead th:last-child{text-align:right;}\r\n  .cc-mobile-table tbody td{padding:12px 12px;border-bottom:1px solid rgba(0,0,0,.06);}\r\n  .cc-mobile-table tbody tr:last-child td{border-bottom:none;}\r\n  .cc-mobile-len{font-weight:800;color:#222;}\r\n  .cc-mobile-price{text-align:right;font-weight:900;color:#1f7a2e;}\r\n  .cc-mobile-price small{font-size:11px;font-weight:800;opacity:.8;margin-left:4px;}\r\n  .cc-mobile-na{text-align:right;color:#999;font-weight:800;}\r\n\r\n  \/* ===== Limity ===== *\/\r\n  .cc-limits{border:1px solid rgba(0,0,0,.08);border-radius:14px;background:#fff;padding:10px 12px;}\r\n  .cc-limitstable{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;line-height:1.35;}\r\n  .cc-limitstable th,.cc-limitstable td{padding:10px 10px;border-bottom:1px solid rgba(0,0,0,.06);text-align:left;vertical-align:top;}\r\n  .cc-limitstable thead th{font-weight:900;background:#FFF4CD;}\r\n  .cc-limitstable tbody th{font-weight:900;}\r\n  .cc-limitstable tr:last-child th,.cc-limitstable tr:last-child td{border-bottom:none;}\r\n\r\n  \/* Prze\u0142\u0105czanie desktop\/mobile *\/\r\n  @media (max-width: 860px){\r\n    .cc-table--desktop{display:none;}\r\n    .cc-table--mobile{display:block;}\r\n    .cc-price-section{max-width:640px;}\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n(() => {\r\n  const PRICES = {\r\n    AM50: {100:973,150:1042,200:1111,250:1180,300:1249,350:1317,400:1386,450:1453,500:1522,550:1591,600:1659},\r\n    AM50_BAT: {100:1192,150:1252,200:1312,250:1373,300:1443,350:1493,400:1553,450:1614,500:1674,550:1734,600:1795},\r\n    AM75_WIFI: {100:1068,150:1137,200:1205,250:1274,300:1343,350:1412,400:1481,450:1547,500:1616,550:1685,600:1754,650:1823,700:1892,750:1961,800:2030,850:2098,900:2165,950:2234,1000:2303,1050:2371,1100:2440,1150:2509,1200:2578},\r\n    AM75_ZIGBEE: {100:1117,150:1186,200:1255,250:1323,300:1392,350:1461,400:1530,450:1597,500:1665,550:1734,600:1803,650:1872,700:1941,750:2010,800:2079,850:2148,900:2214,950:2283,1000:2352,1050:2421,1100:2490,1150:2558,1200:2627}\r\n  };\r\n\r\n  const MAX_FOR = { AM50:600, AM50_BAT:600, AM75_WIFI:1200, AM75_ZIGBEE:1200 };\r\n\r\n  const ORDER = [100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1050,1100,1150,1200];\r\n  const MIN_LEN = 80;\r\n  const MAX_LEN = 1200;\r\n\r\n  const $ = (sel, root=document) => root.querySelector(sel);\r\n\r\n  function fmtInt(n){ return String(n).replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, ' '); }\r\n  function ceilToBracket(v, brackets){ for (const b of brackets){ if (v <= b) return b; } return null; }\r\n\r\n  \/* ========= MOBILE ========= *\/\r\n  function renderMobileTable(type){\r\n    const table = $('[data-cc-mobile-table]');\r\n    const maxEl = $('[data-cc-mobile-max]');\r\n    if (!table) return;\r\n\r\n    const tbody = table.querySelector('tbody');\r\n    if (!tbody) return;\r\n\r\n    const max = MAX_FOR[type] ?? null;\r\n    if (maxEl) maxEl.textContent = max ? `Max: ${max} cm` : 'Max: \u2014';\r\n\r\n    const prices = PRICES[type] || {};\r\n    tbody.innerHTML = '';\r\n\r\n    for (const len of ORDER){\r\n      if (max && len > max) continue;\r\n\r\n      const price = prices[len];\r\n      const tr = document.createElement('tr');\r\n\r\n      const tdLen = document.createElement('td');\r\n      tdLen.className = 'cc-mobile-len';\r\n      tdLen.textContent = `${len} cm`;\r\n\r\n      const tdPrice = document.createElement('td');\r\n      if (Number.isFinite(price)){\r\n        tdPrice.className = 'cc-mobile-price';\r\n        tdPrice.innerHTML = `${fmtInt(price)} <small>z\u0142<\/small>`;\r\n      } else {\r\n        tdPrice.className = 'cc-mobile-na';\r\n        tdPrice.textContent = '\u2014';\r\n      }\r\n\r\n      tr.appendChild(tdLen);\r\n      tr.appendChild(tdPrice);\r\n      tbody.appendChild(tr);\r\n    }\r\n  }\r\n\r\n  function renderMobileQuick(type, lenRaw){\r\n    const box = $('[data-cc-mobile-result]');\r\n    const bracketEl = $('[data-cc-mobile-bracket]');\r\n    const priceEl = $('[data-cc-mobile-price]');\r\n    const hintEl = $('[data-cc-mobile-hint]');\r\n    if (!box || !bracketEl || !priceEl || !hintEl) return;\r\n\r\n    const maxT = MAX_FOR[type] ?? null;\r\n    const prices = PRICES[type] || {};\r\n    box.classList.remove('is-error');\r\n\r\n    const len = Number.parseFloat(lenRaw);\r\n\r\n    if (!Number.isFinite(len) || String(lenRaw).trim() === ''){\r\n      bracketEl.textContent = '\u2014';\r\n      priceEl.innerHTML = '\u2014';\r\n      hintEl.textContent = 'Wpisz d\u0142ugo\u015b\u0107, a poka\u017c\u0119 pr\u00f3g i cen\u0119.';\r\n      return;\r\n    }\r\n\r\n    if (len < MIN_LEN){\r\n      box.classList.add('is-error');\r\n      bracketEl.textContent = '\u2014';\r\n      priceEl.innerHTML = '\u2014';\r\n      hintEl.textContent = `Minimalna d\u0142ugo\u015b\u0107 to ${MIN_LEN} cm.`;\r\n      return;\r\n    }\r\n\r\n    if (len > MAX_LEN){\r\n      box.classList.add('is-error');\r\n      bracketEl.textContent = '\u2014';\r\n      priceEl.innerHTML = '\u2014';\r\n      hintEl.textContent = `Maksymalna d\u0142ugo\u015b\u0107 to ${MAX_LEN} cm.`;\r\n      return;\r\n    }\r\n\r\n    const use = Math.max(len, 100);\r\n    const bracket = ceilToBracket(use, ORDER);\r\n\r\n    if (!bracket){\r\n      box.classList.add('is-error');\r\n      bracketEl.textContent = '\u2014';\r\n      priceEl.innerHTML = '\u2014';\r\n      hintEl.textContent = 'Nie uda\u0142o si\u0119 dobra\u0107 progu d\u0142ugo\u015bci.';\r\n      return;\r\n    }\r\n\r\n    if (maxT && bracket > maxT){\r\n      box.classList.add('is-error');\r\n      bracketEl.textContent = `Pr\u00f3g: ${bracket} cm`;\r\n      priceEl.innerHTML = '\u2014';\r\n      hintEl.textContent = `Osi\u0105gni\u0119to maksymaln\u0105 d\u0142ugo\u015b\u0107 dla tego rodzaju (max: ${maxT} cm).`;\r\n      return;\r\n    }\r\n\r\n    const price = prices[bracket];\r\n    if (!Number.isFinite(price)){\r\n      box.classList.add('is-error');\r\n      bracketEl.textContent = `Pr\u00f3g: ${bracket} cm`;\r\n      priceEl.innerHTML = '\u2014';\r\n      hintEl.textContent = 'Brak ceny w tabeli dla tego progu.';\r\n      return;\r\n    }\r\n\r\n    bracketEl.textContent = `Dla ${Math.round(len)} cm obowi\u0105zuje pr\u00f3g ${bracket} cm`;\r\n    priceEl.innerHTML = `${fmtInt(price)} <small>z\u0142<\/small>`;\r\n    hintEl.textContent = (len <= 100)\r\n      ? 'D\u0142ugo\u015b\u0107 80\u2013100 cm liczymy jak 100 cm.'\r\n      : 'Cena dobrana wed\u0142ug najbli\u017cszego wy\u017cszego progu.';\r\n  }\r\n\r\n  function bootMobile(){\r\n    const sel = $('[data-cc-mobile-select]');\r\n    const inp = $('[data-cc-mobile-len]');\r\n    if (!sel) return;\r\n\r\n    const sync = () => {\r\n      const type = sel.value;\r\n      renderMobileTable(type);\r\n      renderMobileQuick(type, inp ? inp.value : '');\r\n    };\r\n\r\n    sync();\r\n    sel.addEventListener('change', sync);\r\n    if (inp){\r\n      inp.addEventListener('input', sync);\r\n      inp.addEventListener('change', sync);\r\n      inp.addEventListener('keyup', sync);\r\n    }\r\n  }\r\n\r\n  \/* ========= DESKTOP \"wisienka\" ========= *\/\r\n  function clearDesktopPick(table, tip){\r\n    if (!table) return;\r\n    table.classList.remove('is-picked');\r\n\r\n    table.querySelectorAll('.cc-hl-row').forEach(tr => tr.classList.remove('cc-hl-row'));\r\n    table.querySelectorAll('.cc-hl-col').forEach(cell => cell.classList.remove('cc-hl-col'));\r\n    table.querySelectorAll('.cc-hl-cell').forEach(cell => cell.classList.remove('cc-hl-cell'));\r\n\r\n    if (tip){\r\n      tip.style.display = 'none';\r\n      tip.setAttribute('aria-hidden','true');\r\n      tip.textContent = '';\r\n    }\r\n  }\r\n\r\n  function positionTip(tip, cell, container){\r\n    if (!tip || !cell || !container) return;\r\n\r\n    const cRect = container.getBoundingClientRect();\r\n    const r = cell.getBoundingClientRect();\r\n\r\n    tip.style.display = 'block';\r\n    tip.style.left = '0px';\r\n    tip.style.top = '0px';\r\n\r\n    const tRect = tip.getBoundingClientRect();\r\n    const tW = tRect.width;\r\n    const tH = tRect.height;\r\n\r\n    let left = (r.left - cRect.left) + Math.min(16, Math.max(8, r.width * 0.2));\r\n    let top  = (r.top  - cRect.top) - (tH + 10);\r\n\r\n    if (top < 6){\r\n      top = (r.bottom - cRect.top) + 10;\r\n      tip.classList.add('cc-tip--bottom');\r\n    } else {\r\n      tip.classList.remove('cc-tip--bottom');\r\n    }\r\n\r\n    const maxLeft = container.clientWidth - tW - 8;\r\n    left = Math.max(8, Math.min(left, maxLeft));\r\n\r\n    tip.style.left = `${left}px`;\r\n    tip.style.top  = `${top}px`;\r\n    tip.setAttribute('aria-hidden','false');\r\n  }\r\n\r\n  function bootDesktopPick(){\r\n    const table = $('[data-cc-desktop-table]');\r\n    if (!table) return;\r\n\r\n    const wrap = table.closest('.cc-table--desktop');\r\n    const scroll = table.closest('.cc-table-scroll');\r\n    const tip = $('[data-cc-tip]');\r\n\r\n    const handlePick = (cell) => {\r\n      const tr = cell.closest('tr');\r\n      if (!tr) return;\r\n\r\n      const label = tr.getAttribute('data-label') || 'Karnisz';\r\n      const col = cell.getAttribute('data-col') || '';\r\n      const price = Number.parseInt(cell.getAttribute('data-price') || '', 10);\r\n\r\n      clearDesktopPick(table, tip);\r\n      table.classList.add('is-picked');\r\n\r\n      tr.classList.add('cc-hl-row');\r\n      table.querySelectorAll(`[data-col=\"${col}\"]`).forEach(el => el.classList.add('cc-hl-col'));\r\n      cell.classList.add('cc-hl-cell');\r\n\r\n      if (tip && Number.isFinite(price)){\r\n        tip.innerHTML = `<strong>${label}<\/strong><br><small>Pr\u00f3g ${col} cm<\/small><br><strong>${fmtInt(price)} z\u0142<\/strong>`;\r\n        positionTip(tip, cell, wrap);\r\n      }\r\n    };\r\n\r\n    table.addEventListener('click', (e) => {\r\n      const cell = e.target && e.target.closest ? e.target.closest('td[data-price]') : null;\r\n      if (!cell) return;\r\n      e.preventDefault();\r\n      handlePick(cell);\r\n    });\r\n\r\n    if (scroll && tip){\r\n      scroll.addEventListener('scroll', () => {\r\n        const picked = table.querySelector('td.cc-hl-cell');\r\n        if (picked && tip.style.display === 'block') positionTip(tip, picked, wrap);\r\n      }, { passive:true });\r\n    }\r\n\r\n    document.addEventListener('click', (e) => {\r\n      if (!wrap.contains(e.target)) clearDesktopPick(table, tip);\r\n    });\r\n\r\n    document.addEventListener('keydown', (e) => {\r\n      if (e.key === 'Escape') clearDesktopPick(table, tip);\r\n    });\r\n\r\n    window.addEventListener('resize', () => {\r\n      const picked = table.querySelector('td.cc-hl-cell');\r\n      if (picked && tip && tip.style.display === 'block') positionTip(tip, picked, wrap);\r\n    }, { passive:true });\r\n  }\r\n\r\n  const styleFix = document.createElement('style');\r\n  styleFix.textContent = `\r\n    .cc-tip.cc-tip--bottom::after{\r\n      top:auto !important;\r\n      bottom:100% !important;\r\n      border-top-color: transparent !important;\r\n      border-bottom-color:#fff !important;\r\n    }\r\n  `;\r\n  document.head.appendChild(styleFix);\r\n\r\n  bootMobile();\r\n  bootDesktopPick();\r\n  document.addEventListener('DOMContentLoaded', () => { bootMobile(); bootDesktopPick(); });\r\n})();\r\n<\/script>\n<!-- \/end HFCM by 99 Robots -->\n\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\" style=\"margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);margin-left:var(--wp--preset--spacing--50);font-size:20px\"><strong>Producent karniszy elektrycznych! Karnisze dost\u0119pne od r\u0119ki.<\/strong><\/h2>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);margin-left:var(--wp--preset--spacing--50);letter-spacing:1px\">Dlaczego nasze karnisze na wymiar mo\u017cesz odebra\u0107 nawet w godzin\u0119? Dlatego \u017ce jeste\u015bmy producentem i posiadamy nowoczesn\u0105 lini\u0119 produkcyjn\u0105 oraz bezpo\u015bredni dost\u0119p do najwy\u017cszej jako\u015bci komponent\u00f3w. Kliknij przycisk poni\u017cej i przejd\u017a do HOMESTEAD. Po prostu kupujesz karnisze elektryczne i bateryjne z pierwszej r\u0119ki. Dlatego te\u017c mo\u017cemy udzieli\u0107 5 letniej gwarancji. Dlatego wiemy co robimy.<\/p>\n\n\n<!-- HFCM by 99 Robots - Snippet # 10: box giecie film -->\n<section class=\"az-video-feature\" aria-label=\"Gi\u0119cie karniszy elektrycznych i karnisze do skos\u00f3w\">\r\n  <style>\r\n    .az-video-feature{\r\n      --az-bg:#faf8f4;\r\n      --az-card:#ffffff;\r\n      --az-text:#1f1f1f;\r\n      --az-muted:#6f6a63;\r\n      --az-line:#e7ded2;\r\n      --az-gold:#b99a5f;\r\n      --az-gold-soft:#f3eadb;\r\n      --az-dark:#1d1d1d;\r\n      font-family:inherit;\r\n      color:var(--az-text);\r\n      margin:28px auto;\r\n      padding:clamp(18px,3vw,34px);\r\n      border:1px solid var(--az-line);\r\n      border-radius:24px;\r\n      background:\r\n        radial-gradient(circle at 12% 10%, rgba(185,154,95,.16), transparent 34%),\r\n        radial-gradient(circle at 88% 82%, rgba(185,154,95,.12), transparent 36%),\r\n        linear-gradient(180deg,#fff 0%,var(--az-bg) 100%);\r\n      overflow:hidden;\r\n      box-shadow:0 16px 42px rgba(31,26,19,.06);\r\n      box-sizing:border-box;\r\n    }\r\n\r\n    .az-video-feature *{\r\n      box-sizing:border-box;\r\n    }\r\n\r\n    .az-video-feature__grid{\r\n      display:grid;\r\n      grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);\r\n      gap:clamp(18px,3vw,30px);\r\n      align-items:center;\r\n    }\r\n\r\n    .az-video-feature__media{\r\n      position:relative;\r\n      border-radius:22px;\r\n      padding:12px;\r\n      border:1px solid rgba(185,154,95,.32);\r\n      background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(243,234,219,.72));\r\n      box-shadow:0 18px 40px rgba(31,26,19,.10);\r\n      overflow:hidden;\r\n    }\r\n\r\n    .az-video-feature__media:before{\r\n      content:\"\";\r\n      position:absolute;\r\n      inset:-40%;\r\n      background:\r\n        radial-gradient(circle at 25% 25%, rgba(185,154,95,.22), transparent 34%),\r\n        radial-gradient(circle at 75% 65%, rgba(255,255,255,.72), transparent 36%);\r\n      filter:blur(12px);\r\n      opacity:.85;\r\n      pointer-events:none;\r\n    }\r\n\r\n    .az-video-feature__frame{\r\n      position:relative;\r\n      z-index:1;\r\n      width:100%;\r\n      aspect-ratio:16\/9;\r\n      border-radius:16px;\r\n      overflow:hidden;\r\n      background:#111;\r\n      box-shadow:0 10px 28px rgba(0,0,0,.16);\r\n    }\r\n\r\n    .az-video-feature__frame iframe{\r\n      position:absolute;\r\n      inset:0;\r\n      width:100%;\r\n      height:100%;\r\n      border:0;\r\n    }\r\n\r\n    .az-video-feature__content{\r\n      padding:4px 2px;\r\n    }\r\n\r\n    .az-video-feature__kicker{\r\n      display:inline-flex;\r\n      align-items:center;\r\n      gap:8px;\r\n      padding:7px 13px;\r\n      border:1px solid var(--az-line);\r\n      border-radius:999px;\r\n      background:#fff;\r\n      color:var(--az-muted);\r\n      font-size:12px;\r\n      letter-spacing:.08em;\r\n      text-transform:uppercase;\r\n      margin:0 0 14px;\r\n      font-weight:700;\r\n    }\r\n\r\n    .az-video-feature__kicker:before{\r\n      content:\"\";\r\n      width:7px;\r\n      height:7px;\r\n      border-radius:50%;\r\n      background:var(--az-gold);\r\n      box-shadow:0 0 0 5px var(--az-gold-soft);\r\n      flex:0 0 auto;\r\n    }\r\n\r\n    .az-video-feature h2{\r\n      margin:0 0 14px;\r\n      font-size:clamp(24px,3vw,36px);\r\n      line-height:1.12;\r\n      letter-spacing:-.035em;\r\n      font-weight:800;\r\n      color:var(--az-dark);\r\n    }\r\n\r\n    .az-video-feature__lead{\r\n      margin:0 0 12px;\r\n      color:var(--az-muted);\r\n      font-size:16px;\r\n      line-height:1.75;\r\n    }\r\n\r\n    .az-video-feature__lead strong{\r\n      color:var(--az-text);\r\n      font-weight:800;\r\n    }\r\n\r\n    .az-video-feature__tags{\r\n      display:flex;\r\n      flex-wrap:wrap;\r\n      gap:8px;\r\n      margin:18px 0 0;\r\n    }\r\n\r\n    .az-video-feature__tag{\r\n      display:inline-flex;\r\n      align-items:center;\r\n      justify-content:center;\r\n      padding:8px 12px;\r\n      border-radius:999px;\r\n      border:1px solid rgba(185,154,95,.34);\r\n      background:linear-gradient(135deg,#fff,var(--az-gold-soft));\r\n      color:#4b4032;\r\n      font-size:13px;\r\n      font-weight:800;\r\n      white-space:nowrap;\r\n    }\r\n\r\n    .az-video-feature__cta{\r\n      display:flex;\r\n      flex-wrap:wrap;\r\n      gap:10px;\r\n      margin-top:20px;\r\n    }\r\n\r\n    .az-video-feature__button{\r\n      display:inline-flex;\r\n      align-items:center;\r\n      justify-content:center;\r\n      min-height:44px;\r\n      padding:0 18px;\r\n      border-radius:999px;\r\n      background:linear-gradient(135deg,#d7bd7c,#a8823c);\r\n      color:#1d1d1d !important;\r\n      text-decoration:none !important;\r\n      font-weight:800;\r\n      box-shadow:0 10px 24px rgba(0,0,0,.14);\r\n      transition:transform .18s ease, box-shadow .18s ease;\r\n    }\r\n\r\n    .az-video-feature__button:hover{\r\n      transform:translateY(-1px);\r\n      box-shadow:0 14px 30px rgba(0,0,0,.18);\r\n    }\r\n\r\n    .az-video-feature__button--dark{\r\n      background:#111;\r\n      color:#fff !important;\r\n    }\r\n\r\n    @media (max-width:900px){\r\n      .az-video-feature__grid{\r\n        grid-template-columns:1fr;\r\n      }\r\n\r\n      .az-video-feature__media{\r\n        order:1;\r\n      }\r\n\r\n      .az-video-feature__content{\r\n        order:2;\r\n        text-align:center;\r\n      }\r\n\r\n      .az-video-feature__kicker{\r\n        justify-content:center;\r\n      }\r\n\r\n      .az-video-feature__tags,\r\n      .az-video-feature__cta{\r\n        justify-content:center;\r\n      }\r\n    }\r\n\r\n    @media (max-width:560px){\r\n      .az-video-feature{\r\n        border-radius:18px;\r\n        padding:18px;\r\n      }\r\n\r\n      .az-video-feature__media{\r\n        padding:8px;\r\n        border-radius:18px;\r\n      }\r\n\r\n      .az-video-feature__frame{\r\n        border-radius:13px;\r\n      }\r\n\r\n      .az-video-feature__tag{\r\n        width:100%;\r\n      }\r\n\r\n      .az-video-feature__button{\r\n        width:100%;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"az-video-feature__grid\">\r\n\r\n    <div class=\"az-video-feature__media\">\r\n      <div class=\"az-video-feature__frame\">\r\n        <iframe\r\n          src=\"https:\/\/www.youtube.com\/embed\/txYSV221p38\"\r\n          title=\"Gi\u0119cie karniszy elektrycznych i karnisze do skos\u00f3w\"\r\n          loading=\"lazy\"\r\n          allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n          referrerpolicy=\"strict-origin-when-cross-origin\"\r\n          allowfullscreen>\r\n        <\/iframe>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"az-video-feature__content\">\r\n      <div class=\"az-video-feature__kicker\">Karnisze gi\u0119te i do skos\u00f3w<\/div>\r\n\r\n      <h2>Prawie nikt nie ma takiego gi\u0119cia karniszy<\/h2>\r\n\r\n      <p class=\"az-video-feature__lead\">\r\n        Karnisze elektryczne z zakr\u0119tem mo\u017cemy wykona\u0107 z gi\u0119ciem o promieniu <strong>22 cm<\/strong>. To wa\u017cne przy zabudowach sufitowych, wykuszach, naro\u017cnikach i projektach, w kt\u00f3rych standardowy promie\u0144 gi\u0119cia mo\u017ce okaza\u0107 si\u0119 zbyt du\u017cy.\r\n      <\/p>\r\n\r\n      <p class=\"az-video-feature__lead\">\r\n        Standardowo promie\u0144 gi\u0119cia wynosi oko\u0142o <strong>30 cm<\/strong>, dlatego przy wymagaj\u0105cych realizacjach ka\u017cdy centymetr ma znaczenie. W naszej ofercie znajdziesz tak\u017ce karnisze elektryczne do skos\u00f3w, kt\u00f3re sprawdzaj\u0105 si\u0119 mi\u0119dzy innymi w domach typu stodo\u0142a, na poddaszach i przy sko\u015bnych przeszkleniach.\r\n      <\/p>\r\n\r\n      <p class=\"az-video-feature__lead\">\r\n        Do takich realizacji bardzo dobrze nadaj\u0105 si\u0119 r\u00f3wnie\u017c karnisze elektryczne AM68, kt\u00f3re mo\u017cna wykorzysta\u0107 przy oknach sko\u015bnych oraz trudniejszych uk\u0142adach architektonicznych.\r\n      <\/p>\r\n\r\n      <div class=\"az-video-feature__tags\" aria-label=\"Tematy filmu\">\r\n        <span class=\"az-video-feature__tag\">Promie\u0144 22 cm<\/span>\r\n        <span class=\"az-video-feature__tag\">Karnisze gi\u0119te<\/span>\r\n        <span class=\"az-video-feature__tag\">Karnisze do skos\u00f3w<\/span>\r\n        <span class=\"az-video-feature__tag\">AM68<\/span>\r\n      <\/div>\r\n\r\n      <div class=\"az-video-feature__cta\">\r\n        <a class=\"az-video-feature__button az-video-feature__button--dark\" href=\"tel:+48667057777\">Wyceny: +48 667 057 777<\/a>\r\n        <a class=\"az-video-feature__button\" href=\"mailto:kontakt@karniszepoznan.pl\">kontakt@karniszepoznan.pl<\/a>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\n<!-- \/end HFCM by 99 Robots -->\n\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\" style=\"margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);margin-left:var(--wp--preset--spacing--50);font-size:20px\"><strong>Czy wy\u017csza cena jest zasadna?<\/strong><\/h2>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"margin-top:0;margin-right:var(--wp--preset--spacing--40);margin-bottom:0;margin-left:var(--wp--preset--spacing--40);font-size:17px;letter-spacing:1px;line-height:1.5\">Tak! Pod warunkiem \u017ce wiesz za co p\u0142acisz. Zauwa\u017cyli\u015bmy \u017ce dzi\u015b klientom zale\u017cy na ni\u017cszej cenie ale wybieraj\u0105 produkty dro\u017csze, kt\u00f3re nie s\u0105 lepsze. Prywatnie te\u017c jeste\u015bmy klientami i zauwa\u017cyli\u015bmy \u017ce <strong>wra\u017cenie jako\u015bci produktu, jest podbijana tylko wy\u017csz\u0105 cen\u0105.<\/strong> Uwa\u017camy \u017ce cena naszych karniszy i jest idealnie wypo\u015brodkowana na tle konkurencji i r\u00f3\u017cnych modeli karniszy z silnikiem. Zach\u0119camy!<br><strong>Warto sprawdzi\u0107 nasze opisy produkt\u00f3w, jako\u015b\u0107 i opinie.<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"602\" src=\"https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2025\/08\/zestaw-75-okarnisze-1024x602.webp\" alt=\"Karnisze elektryczne na wymiar Pozna\u0144\" class=\"wp-image-375\" style=\"width:657px;height:auto\" srcset=\"https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2025\/08\/zestaw-75-okarnisze-1024x602.webp 1024w, https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2025\/08\/zestaw-75-okarnisze-300x176.webp 300w, https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2025\/08\/zestaw-75-okarnisze-768x451.webp 768w, https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2025\/08\/zestaw-75-okarnisze.webp 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a7365460 wp-block-buttons-is-layout-flex\" style=\"padding-right:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/osklep.pl\"><span style=\"text-decoration: underline;\">24 GODZINY !<\/span> TO CZAS REALIZACJI KARNISZY ELEKTRYCZNYCH <span style=\"text-decoration: underline;\">NA WYMIAR<\/span>.<\/a><\/div>\n<\/div>\n\n\n<!-- HFCM by 99 Robots - Snippet # 9: box z filmem -->\n<section class=\"az-video-feature\" aria-label=\"Konfiguracja karnisza elektrycznego z pilotem i aplikacj\u0105\">\r\n  <style>\r\n    .az-video-feature{\r\n      --az-bg:#faf8f4;\r\n      --az-card:#ffffff;\r\n      --az-text:#1f1f1f;\r\n      --az-muted:#6f6a63;\r\n      --az-line:#e7ded2;\r\n      --az-gold:#b99a5f;\r\n      --az-gold-soft:#f3eadb;\r\n      --az-dark:#1d1d1d;\r\n      font-family:inherit;\r\n      color:var(--az-text);\r\n      margin:28px auto;\r\n      padding:clamp(18px,3vw,34px);\r\n      border:1px solid var(--az-line);\r\n      border-radius:24px;\r\n      background:\r\n        radial-gradient(circle at 12% 10%, rgba(185,154,95,.16), transparent 34%),\r\n        radial-gradient(circle at 88% 82%, rgba(185,154,95,.12), transparent 36%),\r\n        linear-gradient(180deg,#fff 0%,var(--az-bg) 100%);\r\n      overflow:hidden;\r\n      box-shadow:0 16px 42px rgba(31,26,19,.06);\r\n      box-sizing:border-box;\r\n    }\r\n\r\n    .az-video-feature *{\r\n      box-sizing:border-box;\r\n    }\r\n\r\n    .az-video-feature__grid{\r\n      display:grid;\r\n      grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);\r\n      gap:clamp(18px,3vw,30px);\r\n      align-items:center;\r\n    }\r\n\r\n    .az-video-feature__media{\r\n      position:relative;\r\n      border-radius:22px;\r\n      padding:12px;\r\n      border:1px solid rgba(185,154,95,.32);\r\n      background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(243,234,219,.72));\r\n      box-shadow:0 18px 40px rgba(31,26,19,.10);\r\n      overflow:hidden;\r\n    }\r\n\r\n    .az-video-feature__media:before{\r\n      content:\"\";\r\n      position:absolute;\r\n      inset:-40%;\r\n      background:\r\n        radial-gradient(circle at 25% 25%, rgba(185,154,95,.22), transparent 34%),\r\n        radial-gradient(circle at 75% 65%, rgba(255,255,255,.72), transparent 36%);\r\n      filter:blur(12px);\r\n      opacity:.85;\r\n      pointer-events:none;\r\n    }\r\n\r\n    .az-video-feature__frame{\r\n      position:relative;\r\n      z-index:1;\r\n      width:100%;\r\n      aspect-ratio:16\/9;\r\n      border-radius:16px;\r\n      overflow:hidden;\r\n      background:#111;\r\n      box-shadow:0 10px 28px rgba(0,0,0,.16);\r\n    }\r\n\r\n    .az-video-feature__frame iframe{\r\n      position:absolute;\r\n      inset:0;\r\n      width:100%;\r\n      height:100%;\r\n      border:0;\r\n    }\r\n\r\n    .az-video-feature__content{\r\n      padding:4px 2px;\r\n    }\r\n\r\n    .az-video-feature__kicker{\r\n      display:inline-flex;\r\n      align-items:center;\r\n      gap:8px;\r\n      padding:7px 13px;\r\n      border:1px solid var(--az-line);\r\n      border-radius:999px;\r\n      background:#fff;\r\n      color:var(--az-muted);\r\n      font-size:12px;\r\n      letter-spacing:.08em;\r\n      text-transform:uppercase;\r\n      margin:0 0 14px;\r\n      font-weight:700;\r\n    }\r\n\r\n    .az-video-feature__kicker:before{\r\n      content:\"\";\r\n      width:7px;\r\n      height:7px;\r\n      border-radius:50%;\r\n      background:var(--az-gold);\r\n      box-shadow:0 0 0 5px var(--az-gold-soft);\r\n      flex:0 0 auto;\r\n    }\r\n\r\n    .az-video-feature h2{\r\n      margin:0 0 14px;\r\n      font-size:clamp(24px,3vw,36px);\r\n      line-height:1.12;\r\n      letter-spacing:-.035em;\r\n      font-weight:800;\r\n      color:var(--az-dark);\r\n    }\r\n\r\n    .az-video-feature__lead{\r\n      margin:0 0 12px;\r\n      color:var(--az-muted);\r\n      font-size:16px;\r\n      line-height:1.75;\r\n    }\r\n\r\n    .az-video-feature__lead strong{\r\n      color:var(--az-text);\r\n      font-weight:800;\r\n    }\r\n\r\n    .az-video-feature__tags{\r\n      display:flex;\r\n      flex-wrap:wrap;\r\n      gap:8px;\r\n      margin:18px 0 0;\r\n    }\r\n\r\n    .az-video-feature__tag{\r\n      display:inline-flex;\r\n      align-items:center;\r\n      justify-content:center;\r\n      padding:8px 12px;\r\n      border-radius:999px;\r\n      border:1px solid rgba(185,154,95,.34);\r\n      background:linear-gradient(135deg,#fff,var(--az-gold-soft));\r\n      color:#4b4032;\r\n      font-size:13px;\r\n      font-weight:800;\r\n      white-space:nowrap;\r\n    }\r\n\r\n    .az-video-feature__cta{\r\n      display:flex;\r\n      flex-wrap:wrap;\r\n      gap:10px;\r\n      margin-top:20px;\r\n    }\r\n\r\n    .az-video-feature__button{\r\n      display:inline-flex;\r\n      align-items:center;\r\n      justify-content:center;\r\n      min-height:44px;\r\n      padding:0 18px;\r\n      border-radius:999px;\r\n      background:linear-gradient(135deg,#d7bd7c,#a8823c);\r\n      color:#1d1d1d !important;\r\n      text-decoration:none !important;\r\n      font-weight:800;\r\n      box-shadow:0 10px 24px rgba(0,0,0,.14);\r\n      transition:transform .18s ease, box-shadow .18s ease;\r\n    }\r\n\r\n    .az-video-feature__button:hover{\r\n      transform:translateY(-1px);\r\n      box-shadow:0 14px 30px rgba(0,0,0,.18);\r\n    }\r\n\r\n    .az-video-feature__button--dark{\r\n      background:#111;\r\n      color:#fff !important;\r\n    }\r\n\r\n    @media (max-width:900px){\r\n      .az-video-feature__grid{\r\n        grid-template-columns:1fr;\r\n      }\r\n\r\n      .az-video-feature__media{\r\n        order:1;\r\n      }\r\n\r\n      .az-video-feature__content{\r\n        order:2;\r\n        text-align:center;\r\n      }\r\n\r\n      .az-video-feature__kicker{\r\n        justify-content:center;\r\n      }\r\n\r\n      .az-video-feature__tags,\r\n      .az-video-feature__cta{\r\n        justify-content:center;\r\n      }\r\n    }\r\n\r\n    @media (max-width:560px){\r\n      .az-video-feature{\r\n        border-radius:18px;\r\n        padding:18px;\r\n      }\r\n\r\n      .az-video-feature__media{\r\n        padding:8px;\r\n        border-radius:18px;\r\n      }\r\n\r\n      .az-video-feature__frame{\r\n        border-radius:13px;\r\n      }\r\n\r\n      .az-video-feature__tag{\r\n        width:100%;\r\n      }\r\n\r\n      .az-video-feature__button{\r\n        width:100%;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"az-video-feature__grid\">\r\n\r\n    <div class=\"az-video-feature__media\">\r\n      <div class=\"az-video-feature__frame\">\r\n        <iframe\r\n          src=\"https:\/\/www.youtube.com\/embed\/NVoX5DvRFio\"\r\n          title=\"Konfiguracja karnisza elektrycznego z pilotem i aplikacj\u0105\"\r\n          loading=\"lazy\"\r\n          allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n          referrerpolicy=\"strict-origin-when-cross-origin\"\r\n          allowfullscreen>\r\n        <\/iframe>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"az-video-feature__content\">\r\n      <div class=\"az-video-feature__kicker\">Poradnik wideo<\/div>\r\n\r\n      <h2>Konfiguracja karnisza z pilotem i aplikacj\u0105<\/h2>\r\n\r\n      <p class=\"az-video-feature__lead\">\r\n        Na filmie pokazujemy, jak przygotowa\u0107 <strong>karnisz elektryczny<\/strong> do pracy z pilotem oraz aplikacj\u0105 Tuya lub Smart Life. Omawiamy parowanie nap\u0119du, wyb\u00f3r odpowiedniego kana\u0142u, pierwsze ustawienia i najcz\u0119stsze sytuacje, kt\u00f3re pojawiaj\u0105 si\u0119 podczas uruchamiania karnisza.\r\n      <\/p>\r\n\r\n      <p class=\"az-video-feature__lead\">\r\n        Wyja\u015bniamy tak\u017ce r\u00f3\u017cnice mi\u0119dzy silnikiem z wbudowanym modu\u0142em Wi-Fi lub Zigbee a wersj\u0105, kt\u00f3ra wymaga bramki. Pokazujemy zmian\u0119 kierunku pracy, ponowne programowanie oraz praktyczne ustawienia potrzebne do wygodnego sterowania zas\u0142onami w domu lub apartamencie.\r\n      <\/p>\r\n\r\n      <div class=\"az-video-feature__tags\" aria-label=\"Tematy filmu\">\r\n        <span class=\"az-video-feature__tag\">Pilot<\/span>\r\n        <span class=\"az-video-feature__tag\">Tuya \/ Smart Life<\/span>\r\n        <span class=\"az-video-feature__tag\">Wi-Fi \/ Zigbee<\/span>\r\n        <span class=\"az-video-feature__tag\">Zmiana kierunku<\/span>\r\n      <\/div>\r\n\r\n      <div class=\"az-video-feature__cta\">\r\n        <a class=\"az-video-feature__button az-video-feature__button--dark\" href=\"tel:+48667057777\">Wyceny: +48 667 057 777<\/a>\r\n        <a class=\"az-video-feature__button\" href=\"mailto:kontakt@karniszepoznan.pl\">kontakt@karniszepoznan.pl<\/a>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\n<!-- \/end HFCM by 99 Robots -->\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Producent karniszy elektrycznych! Karnisze dost\u0119pne od r\u0119ki. Dlaczego nasze karnisze na wymiar mo\u017cesz odebra\u0107 nawet w godzin\u0119? Dlatego \u017ce jeste\u015bmy producentem i posiadamy nowoczesn\u0105 lini\u0119 produkcyjn\u0105 oraz bezpo\u015bredni dost\u0119p do najwy\u017cszej jako\u015bci komponent\u00f3w. Kliknij przycisk poni\u017cej i przejd\u017a do HOMESTEAD. Po prostu kupujesz karnisze elektryczne i bateryjne z pierwszej r\u0119ki. Dlatego te\u017c mo\u017cemy udzieli\u0107 5&#8230;<\/p>\n","protected":false},"author":1,"featured_media":375,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"enable","_kad_post_title":"hide","_kad_post_layout":"fullwidth","_kad_post_sidebar_id":"","_kad_post_content_style":"unboxed","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":true,"_kad_post_classname":"","footnotes":""},"class_list":["post-6","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Karnisze elektryczne Pozna\u0144 | Na wymiar, pilot, smart home.<\/title>\n<meta name=\"description\" content=\"Karnisze elektryczne Pozna\u0144 na wymiar. Sterowanie pilotem, aplikacj\u0105, Wi-Fi, Zigbee i smart home. Karnisze proste, gi\u0119te, bateryjne i do skos\u00f3w.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/karniszepoznan.pl\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Karnisze elektryczne Pozna\u0144 | Na wymiar, pilot, smart home.\" \/>\n<meta property=\"og:description\" content=\"Karnisze elektryczne Pozna\u0144 na wymiar. Sterowanie pilotem, aplikacj\u0105, Wi-Fi, Zigbee i smart home. Karnisze proste, gi\u0119te, bateryjne i do skos\u00f3w.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/karniszepoznan.pl\/\" \/>\n<meta property=\"og:site_name\" content=\"Karnisze elektryczne Pozna\u0144\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-23T17:00:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2025\/08\/zestaw-75-okarnisze.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"705\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/karniszepoznan.pl\\\/\",\"url\":\"https:\\\/\\\/karniszepoznan.pl\\\/\",\"name\":\"Karnisze elektryczne Pozna\u0144 | Na wymiar, pilot, smart home.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/karniszepoznan.pl\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/karniszepoznan.pl\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/karniszepoznan.pl\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/karniszepoznan.pl\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/zestaw-75-okarnisze.webp\",\"datePublished\":\"2024-01-10T16:55:18+00:00\",\"dateModified\":\"2026-10-23T17:00:30+00:00\",\"description\":\"Karnisze elektryczne Pozna\u0144 na wymiar. Sterowanie pilotem, aplikacj\u0105, Wi-Fi, Zigbee i smart home. Karnisze proste, gi\u0119te, bateryjne i do skos\u00f3w.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/karniszepoznan.pl\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/karniszepoznan.pl\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/karniszepoznan.pl\\\/#primaryimage\",\"url\":\"https:\\\/\\\/karniszepoznan.pl\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/zestaw-75-okarnisze.webp\",\"contentUrl\":\"https:\\\/\\\/karniszepoznan.pl\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/zestaw-75-okarnisze.webp\",\"width\":1200,\"height\":705,\"caption\":\"Karnisze elektryczne na wymiar Pozna\u0144\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/karniszepoznan.pl\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\\\/\\\/karniszepoznan.pl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Karnisze elektryczne Pozna\u0144\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/karniszepoznan.pl\\\/#website\",\"url\":\"https:\\\/\\\/karniszepoznan.pl\\\/\",\"name\":\"Karnisze elektryczne Pozna\u0144\",\"description\":\".\",\"publisher\":{\"@id\":\"https:\\\/\\\/karniszepoznan.pl\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/karniszepoznan.pl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/karniszepoznan.pl\\\/#organization\",\"name\":\"Karnisze elektryczne Pozna\u0144\",\"url\":\"https:\\\/\\\/karniszepoznan.pl\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/karniszepoznan.pl\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/karniszepoznan.pl\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/cropped-logo-azhome.webp\",\"contentUrl\":\"https:\\\/\\\/karniszepoznan.pl\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/cropped-logo-azhome.webp\",\"width\":300,\"height\":50,\"caption\":\"Karnisze elektryczne Pozna\u0144\"},\"image\":{\"@id\":\"https:\\\/\\\/karniszepoznan.pl\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Karnisze elektryczne Pozna\u0144 | Na wymiar, pilot, smart home.","description":"Karnisze elektryczne Pozna\u0144 na wymiar. Sterowanie pilotem, aplikacj\u0105, Wi-Fi, Zigbee i smart home. Karnisze proste, gi\u0119te, bateryjne i do skos\u00f3w.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/karniszepoznan.pl\/","og_locale":"pl_PL","og_type":"article","og_title":"Karnisze elektryczne Pozna\u0144 | Na wymiar, pilot, smart home.","og_description":"Karnisze elektryczne Pozna\u0144 na wymiar. Sterowanie pilotem, aplikacj\u0105, Wi-Fi, Zigbee i smart home. Karnisze proste, gi\u0119te, bateryjne i do skos\u00f3w.","og_url":"https:\/\/karniszepoznan.pl\/","og_site_name":"Karnisze elektryczne Pozna\u0144","article_modified_time":"2026-10-23T17:00:30+00:00","og_image":[{"width":1200,"height":705,"url":"https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2025\/08\/zestaw-75-okarnisze.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Szacowany czas czytania":"2 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/karniszepoznan.pl\/","url":"https:\/\/karniszepoznan.pl\/","name":"Karnisze elektryczne Pozna\u0144 | Na wymiar, pilot, smart home.","isPartOf":{"@id":"https:\/\/karniszepoznan.pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/karniszepoznan.pl\/#primaryimage"},"image":{"@id":"https:\/\/karniszepoznan.pl\/#primaryimage"},"thumbnailUrl":"https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2025\/08\/zestaw-75-okarnisze.webp","datePublished":"2024-01-10T16:55:18+00:00","dateModified":"2026-10-23T17:00:30+00:00","description":"Karnisze elektryczne Pozna\u0144 na wymiar. Sterowanie pilotem, aplikacj\u0105, Wi-Fi, Zigbee i smart home. Karnisze proste, gi\u0119te, bateryjne i do skos\u00f3w.","breadcrumb":{"@id":"https:\/\/karniszepoznan.pl\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/karniszepoznan.pl\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/karniszepoznan.pl\/#primaryimage","url":"https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2025\/08\/zestaw-75-okarnisze.webp","contentUrl":"https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2025\/08\/zestaw-75-okarnisze.webp","width":1200,"height":705,"caption":"Karnisze elektryczne na wymiar Pozna\u0144"},{"@type":"BreadcrumbList","@id":"https:\/\/karniszepoznan.pl\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/karniszepoznan.pl\/"},{"@type":"ListItem","position":2,"name":"Karnisze elektryczne Pozna\u0144"}]},{"@type":"WebSite","@id":"https:\/\/karniszepoznan.pl\/#website","url":"https:\/\/karniszepoznan.pl\/","name":"Karnisze elektryczne Pozna\u0144","description":".","publisher":{"@id":"https:\/\/karniszepoznan.pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/karniszepoznan.pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/karniszepoznan.pl\/#organization","name":"Karnisze elektryczne Pozna\u0144","url":"https:\/\/karniszepoznan.pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/karniszepoznan.pl\/#\/schema\/logo\/image\/","url":"https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2026\/05\/cropped-logo-azhome.webp","contentUrl":"https:\/\/karniszepoznan.pl\/wp-content\/uploads\/2026\/05\/cropped-logo-azhome.webp","width":300,"height":50,"caption":"Karnisze elektryczne Pozna\u0144"},"image":{"@id":"https:\/\/karniszepoznan.pl\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/karniszepoznan.pl\/index.php\/wp-json\/wp\/v2\/pages\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/karniszepoznan.pl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/karniszepoznan.pl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/karniszepoznan.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/karniszepoznan.pl\/index.php\/wp-json\/wp\/v2\/comments?post=6"}],"version-history":[{"count":197,"href":"https:\/\/karniszepoznan.pl\/index.php\/wp-json\/wp\/v2\/pages\/6\/revisions"}],"predecessor-version":[{"id":467,"href":"https:\/\/karniszepoznan.pl\/index.php\/wp-json\/wp\/v2\/pages\/6\/revisions\/467"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/karniszepoznan.pl\/index.php\/wp-json\/wp\/v2\/media\/375"}],"wp:attachment":[{"href":"https:\/\/karniszepoznan.pl\/index.php\/wp-json\/wp\/v2\/media?parent=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}