/*! Treppenkonfigurator 3D © 2026 Poltreppen, Dębno, Polen. Alle Rechte vorbehalten; Kopieren und Nutzung ohne Genehmigung sind untersagt. All rights reserved; copying or use without permission is prohibited. */
:root{--akcent: #fd5800;--na-akcencie: #111111;--tlo: #f5f1ec;--karta: #ffffff;--tlo-2: #ebe7e1;--tekst: #111111;--tekst-2: #626260;--tekst-3: #7b7b78;--linia: #d3cec6;--linia-miekka: #ebe7e1;--ok: #187a3c;--ok-tlo: #e3f4e8;--uwaga: #9a4a00;--uwaga-tlo: #fff0e3;--blad: #c41c1c;--scena-tlo: #a9aebb;--scena-tekst: #2f3340;--cien: 0 1px 2px rgb(17 17 17 / .04);--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--font: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--marka-kropka: ".";color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--tlo: #121211;--karta: #1c1c1b;--tlo-2: #262625;--tekst: #f5f1ec;--tekst-2: #b3b0aa;--tekst-3: #9c9fa5;--linia: #3a3a38;--linia-miekka: #2a2a29;--ok: #5fd38a;--ok-tlo: #15301f;--uwaga: #ffb27a;--uwaga-tlo: #3a2414;--blad: #ff7a7a;color-scheme:dark}}:root[data-theme=dark]{--tlo: #121211;--karta: #1c1c1b;--tlo-2: #262625;--tekst: #f5f1ec;--tekst-2: #b3b0aa;--tekst-3: #9c9fa5;--linia: #3a3a38;--linia-miekka: #2a2a29;--ok: #5fd38a;--ok-tlo: #15301f;--uwaga: #ffb27a;--uwaga-tlo: #3a2414;--blad: #ff7a7a;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}[hidden]{display:none!important}body{margin:0;background:var(--tlo);color:var(--tekst);font-family:var(--font);font-size:16px;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4{font-weight:500;margin:0}h1{font-size:clamp(28px,3.4vw,40px);line-height:1.15;letter-spacing:-.02em}h2{font-size:20px;line-height:1.3;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}h3{font-size:20px;letter-spacing:-.01em}h4{font-size:14px;color:var(--tekst-2);margin-top:16px}a{color:inherit}a:hover{text-decoration:none}:focus-visible{outline:2px solid var(--tekst);outline-offset:2px;border-radius:4px}.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.naglowek{grid-area:naglowek;display:flex;align-items:center;justify-content:space-between;gap:16px;height:60px;padding:0 24px;background:var(--tlo)}.marka{font-weight:600;font-size:20px;letter-spacing:-.02em;text-decoration:none;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.marka:after{content:var(--marka-kropka);color:var(--akcent)}.marka-logo{display:inline-flex;align-items:center}.marka-logo:after{content:none}.marka-logo img{display:block;max-height:36px;max-width:100%;width:auto;object-fit:contain}.naglowek .powrot{flex:none;margin-left:auto;min-height:40px;padding:0 14px;gap:6px;text-decoration:none;white-space:nowrap}.naglowek .przycisk-ikona{flex:none}.pole-ukryte{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.komunikat-blad{margin:0;color:var(--blad);font-weight:500}.uklad{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);grid-template-rows:auto 1fr;grid-template-areas:"scena naglowek" "scena panel";align-items:start}.scena{grid-area:scena;position:sticky;top:0;height:100vh;height:100dvh;min-height:420px;background:var(--scena-tlo);border-right:1px solid var(--linia);overflow:hidden}#plotno{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#plotno:active{cursor:grabbing}.scena-pasek{position:absolute;top:16px;left:16px;right:16px;display:flex;flex-wrap:wrap;gap:8px;pointer-events:none}.scena-pasek>*{pointer-events:auto}.scena-podpowiedz{position:absolute;left:16px;bottom:12px;right:16px;margin:0;font-size:12px;color:var(--scena-tekst);pointer-events:none}.scena-brak[hidden]{display:none}.scena-brak{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:32px;text-align:center;color:var(--scena-tekst)}.panel{grid-area:panel;min-width:0;padding:8px 24px 96px;display:flex;flex-direction:column;gap:12px}.wstep{padding:8px 0 12px}.wstep p{margin:8px 0 0;color:var(--tekst-2)}.konfigurator{display:flex;flex-direction:column;gap:12px}.karta{background:var(--karta);border:1px solid var(--linia);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:16px;min-width:0;box-shadow:var(--cien)}.nr{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--tlo-2);font-size:13px;font-weight:600;flex:none}.pola-siatka{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.pole{display:flex;flex-direction:column;gap:6px;min-width:0}.pole[hidden]{display:none}label,.etykieta,legend{font-size:14px;font-weight:500}.opcjonalne{font-weight:400;color:var(--tekst-3)}.opis{margin:0;font-size:13px;color:var(--tekst-2)}.blad{margin:0;font-size:13px;color:var(--blad)}input[type=number],input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;min-width:0;font:inherit;font-size:16px;color:var(--tekst);background:var(--karta);border:1px solid var(--linia);border-radius:var(--r-md);padding:10px 12px;transition:border-color .15s}input:hover,select:hover,textarea:hover{border-color:var(--tekst-3)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--akcent);outline-offset:0;border-color:var(--akcent)}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--blad)}textarea{resize:vertical;min-height:96px}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}.z-jednostka{position:relative}.z-jednostka input{padding-right:44px}.z-jednostka span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--tekst-3);pointer-events:none}.stopnie-licznik{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 14px;border-radius:var(--r-md);background:var(--tlo-2)}.stopnie-licznik>div:first-child{display:flex;flex-direction:column}.licznik{display:flex;align-items:center;gap:4px}.licznik output{min-width:44px;text-align:center;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.stopnie-licznik .link{flex-basis:100%;text-align:left}.parametry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;background:var(--linia-miekka);border:1px solid var(--linia-miekka);border-radius:var(--r-md);overflow:hidden}.parametry div{background:var(--karta);padding:10px 12px}.parametry dt{font-size:12px;color:var(--tekst-2)}.parametry dd{margin:2px 0 0;font-size:18px;font-weight:500;font-variant-numeric:tabular-nums}.komunikat{margin:0;padding:10px 12px;border-radius:var(--r-md);font-size:14px}.komunikat.ok{background:var(--ok-tlo);color:var(--ok)}.komunikat.uwaga{background:var(--uwaga-tlo);color:var(--uwaga)}.komunikat:empty{display:none}fieldset{border:0;margin:0;padding:0;min-width:0}fieldset[hidden]{display:none}.wybor{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.wybor legend{margin-bottom:8px;padding:0}.wybor-maly{grid-template-columns:repeat(2,minmax(0,1fr))}.wybor-lista{grid-template-columns:1fr}.wybor-drewno{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.opcja{position:relative;display:block;cursor:pointer}.opcja input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.opcja-tresc{display:flex;flex-direction:column;gap:2px;height:100%;padding:10px 12px;border:1px solid var(--linia);border-radius:var(--r-md);background:var(--karta);transition:border-color .15s,background-color .15s}.opcja-tresc b{font-weight:500;font-size:15px}.opcja-tresc small{font-size:12px;color:var(--tekst-2);line-height:1.35}.opcja-tresc small:empty{display:none}.opcja:hover .opcja-tresc{border-color:var(--tekst-3)}.opcja input:checked+.opcja-tresc{border-color:var(--akcent);box-shadow:inset 0 0 0 1px var(--akcent);background:color-mix(in srgb,var(--akcent) 7%,var(--karta))}.opcja input:focus-visible+.opcja-tresc{outline:2px solid var(--tekst);outline-offset:2px}.wybor-lista .opcja-tresc{flex-direction:row;align-items:center;gap:12px}.wybor-lista .opcja-tresc span{display:flex;flex-direction:column;gap:1px}.ikona-opcji{flex:none;width:40px;height:32px;color:var(--tekst-2)}.opcja input:checked+.opcja-tresc .ikona-opcji{color:var(--akcent)}.probka{display:block;height:36px;border-radius:5px;margin-bottom:6px;box-shadow:inset 0 0 0 1px #00000014}.cennik{margin:0;display:flex;flex-direction:column}.cennik div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-bottom:1px solid var(--linia-miekka)}.cennik dt{color:var(--tekst-2);font-size:15px}.cennik dd{margin:0;font-variant-numeric:tabular-nums;font-weight:500;text-align:right}.cennik dd small{display:block;font-weight:400;font-size:12px;color:var(--tekst-3)}.cennik .razem{border-bottom:0;padding-top:14px}.cennik .razem dt{color:var(--tekst);font-weight:500;font-size:16px}.cennik .razem dd{font-size:28px;letter-spacing:-.02em}.karta-cena{border-color:var(--tekst)}.karta-cena .cennik{transition:opacity .15s}.karta-cena.liczy .cennik{opacity:.55}.przycisk{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 18px;border-radius:var(--r-md);border:1px solid transparent;font:inherit;font-size:15px;font-weight:500;line-height:1.2;cursor:pointer;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s}.przycisk-glowny{background:var(--akcent);color:var(--na-akcencie)}.przycisk-glowny:hover{background:var(--tekst);color:var(--tlo)}.przycisk-jasny{background:var(--karta);color:var(--tekst);border-color:var(--linia)}.przycisk-jasny:hover{border-color:var(--tekst)}.przycisk-ikona{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r-md);border:1px solid var(--linia);background:var(--karta);color:var(--tekst);font:inherit;font-size:20px;cursor:pointer}.przycisk-ikona:hover{border-color:var(--tekst)}.przycisk-ikona:disabled{opacity:.4;cursor:not-allowed}.link{border:0;background:none;padding:0;font:inherit;font-size:13px;color:var(--tekst);text-decoration:underline;cursor:pointer}.link:hover{text-decoration:none}.link[hidden]{display:none}.zapytanie{margin-top:12px}.pole-zgoda{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:4px 10px}.pole-zgoda input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--akcent)}.pole-zgoda label{font-weight:400;font-size:14px}.pole-zgoda .blad{grid-column:2}.akcje{display:flex;flex-wrap:wrap;gap:8px}.podsumowanie{border-top:1px solid var(--linia);padding-top:16px;display:flex;flex-direction:column;gap:8px}.podsumowanie[hidden],.pola-siatka[hidden],.akcje[hidden],.json-naglowek[hidden],.komunikat-blad[hidden]{display:none}.podsumowanie:focus{outline:none}.podsumowanie pre{margin:0;padding:12px;max-height:320px;overflow:auto;background:var(--tlo-2);border-radius:var(--r-md);font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.json-naglowek{display:flex;align-items:center;justify-content:space-between;gap:8px}.json-naglowek h4{margin:8px 0 0}.pasek-ceny{position:fixed;right:16px;bottom:16px;z-index:5;display:flex;align-items:baseline;gap:10px;padding:12px 16px;border-radius:var(--r-lg);background:var(--tekst);color:var(--tlo);text-decoration:none;font-size:14px;box-shadow:0 6px 24px #0000002e;transition:opacity .2s,transform .2s}.pasek-ceny strong{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.pasek-ceny .pasek-link{text-decoration:underline;color:var(--akcent)}.pasek-ceny.ukryty{opacity:0;transform:translateY(12px);pointer-events:none}@media(max-width:900px){.uklad{grid-template-columns:minmax(0,1fr);grid-template-areas:"naglowek" "scena" "panel"}.naglowek{padding:0 16px;border-bottom:1px solid var(--linia)}.scena{position:relative;height:56vh;height:56svh;min-height:300px;max-height:560px;border-right:0;border-bottom:1px solid var(--linia)}.panel{padding:8px 16px 96px}.scena-pasek{top:12px;left:12px;right:12px}.scena-pasek .przycisk{min-height:38px;padding:8px 12px;font-size:14px}.pasek-ceny{left:16px;right:16px;bottom:12px;justify-content:space-between}}@media(max-width:420px){.naglowek{gap:8px}.naglowek .powrot{width:40px;padding:0}.naglowek .powrot span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.karta{padding:16px}.scena-pasek .przycisk span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.scena-pasek .przycisk{width:40px;padding:0}.wybor{grid-template-columns:repeat(2,minmax(0,1fr))}.wybor-lista{grid-template-columns:1fr}.wybor-drewno{grid-template-columns:repeat(2,minmax(0,1fr))}.cennik .razem dd{font-size:24px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.opis:empty{display:none}
