@font-face{font-family:Poppins;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/poppins-400.woff) format("woff")}
@font-face{font-family:Poppins;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/poppins-500.woff) format("woff")}
@font-face{font-family:Poppins;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/poppins-700.woff) format("woff")}
@font-face{font-family:Poppins;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/poppins-700.woff) format("woff")}
@font-face{font-family:Poppins;font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/poppins-700.woff) format("woff")}
/* ============================================================
   Projekt Meble — konfigurator szafek · nowoczesny wygląd (v2)
   Ten plik jest ładowany PO konfigurator-legacy.css i nadpisuje jego wygląd.
   Reguły z legacy, które sterują widocznością sekcji, zostają nietknięte.
   ============================================================ */
:root{
  --pm-ink:#1c1a17;--pm-ink-2:#4a443b;--pm-muted:#857d70;--pm-line:#e6dfd2;--pm-line-2:#f0eadf;
  --pm-bg:#f3efe7;--pm-card:#fff;--pm-soft:#faf7f1;
  --pm-brand:#a0683a;--pm-brand-2:#7a4a24;--pm-brand-soft:#f6ebdd;--pm-accent:#231d17;
  --pm-ok:#2f7d57;--pm-bad:#b3261e;
  --pm-r:16px;--pm-r-sm:11px;--pm-shadow:0 1px 2px rgba(35,29,23,.06),0 10px 28px rgba(35,29,23,.08);--pm-shadow-lg:0 24px 70px rgba(35,29,23,.28);
  --pm-font:Poppins,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --pm-head:64px;--pm-aside:440px;
}
html,body{font-family:var(--pm-font)!important;color:var(--pm-ink);background:var(--pm-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-size:14px;line-height:1.45}
button,input,select,textarea{font-family:inherit}
:focus-visible{outline:2px solid var(--pm-brand);outline-offset:2px}
::selection{background:var(--pm-brand-soft)}

/* ---------- nagłówek ---------- */
header{height:var(--pm-head)!important;padding:0 20px!important;background:rgba(255,255,255,.92)!important;backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--pm-line)!important;position:relative;z-index:30}
.brand{gap:12px!important}
.brand img{width:42px!important;height:42px!important;border-radius:50%!important;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--pm-line)!important}
.brand strong{font-size:14px!important;letter-spacing:.14em!important;font-weight:800!important;color:var(--pm-ink)!important}
.back-to-site{border:0!important;background:none!important;padding:0!important;font-size:12px!important;color:var(--pm-muted)!important;font-weight:500!important;display:block!important;margin-top:1px!important}
.back-to-site:hover{color:var(--pm-brand)!important}
.top-actions{gap:8px!important}
.top-actions button,.top-actions a{height:40px!important;padding:0 16px!important;border:1px solid var(--pm-line)!important;border-radius:999px!important;background:#fff!important;color:var(--pm-ink)!important;font-size:13px!important;font-weight:600!important;display:inline-flex;align-items:center;gap:6px;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .05s}
.top-actions button:hover,.top-actions a:hover{border-color:var(--pm-brand)!important;background:var(--pm-brand-soft)!important}
.top-actions button:active{transform:translateY(1px)}
.top-actions #add{background:var(--pm-accent)!important;color:#fff!important;border-color:var(--pm-accent)!important}
.top-actions #add:hover{background:var(--pm-brand-2)!important;border-color:var(--pm-brand-2)!important}
.top-actions .save{background:#fff!important;color:var(--pm-ink)!important;border-color:var(--pm-line)!important}
.top-actions .studio-link{font:inherit!important;font-weight:600!important;color:var(--pm-brand-2)!important;border-color:#e3d3bf!important;background:var(--pm-brand-soft)!important}
#cartCount{font-variant-numeric:tabular-nums}

/* ---------- układ główny ---------- */
main{height:calc(100dvh - var(--pm-head))!important;grid-template-columns:minmax(0,1fr) var(--pm-aside)!important;gap:0}
.stage{background:radial-gradient(120% 90% at 50% 20%,#fff 0,#f4f1ea 70%,#ece7dc 100%)!important}
.model-title{top:20px!important;left:22px!important;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border:1px solid var(--pm-line);border-radius:var(--pm-r-sm);padding:10px 14px!important;box-shadow:var(--pm-shadow);font-size:14px;font-weight:700!important;color:var(--pm-ink)!important}
.model-title small{display:inline-block!important;margin:0 0 0 8px!important;padding:2px 8px;border-radius:6px;background:var(--pm-soft);color:var(--pm-muted)!important;font-size:11px;font-weight:600!important;letter-spacing:.04em;vertical-align:1px}
#status{color:var(--pm-muted)!important;font-size:13px}
.viewbar{bottom:20px!important;background:rgba(255,255,255,.94)!important;border:1px solid var(--pm-line)!important;border-radius:999px!important;padding:4px!important;gap:2px;box-shadow:var(--pm-shadow)!important;backdrop-filter:blur(8px)}
.viewbar button{border:0!important;border-radius:999px!important;background:transparent!important;color:var(--pm-ink-2)!important;padding:8px 16px!important;font-weight:600;font-size:13px;cursor:pointer;transition:background .15s}
.viewbar button:hover{background:var(--pm-soft)!important}
.viewbar button.on{background:var(--pm-accent)!important;color:#fff!important}
.v64-model-badge{background:rgba(255,255,255,.9)!important;border:1px solid var(--pm-line)!important;border-radius:var(--pm-r-sm)!important;box-shadow:var(--pm-shadow)!important;backdrop-filter:blur(8px);color:var(--pm-ink)!important;font-size:11px!important;letter-spacing:.08em;font-weight:700!important}
#livePrice{border-radius:var(--pm-r-sm)!important;border:1px solid var(--pm-line)!important;background:rgba(255,255,255,.94)!important;box-shadow:var(--pm-shadow)!important;color:var(--pm-ink)!important;font-weight:700;font-variant-numeric:tabular-nums}
/* podpisy wymiarów na modelu: jednostka tylko raz */
.dims .v64-dim span{background:rgba(255,255,255,.96)!important;border:1px solid var(--pm-line)!important;border-radius:8px!important;box-shadow:0 2px 8px rgba(31,29,26,.1)!important;color:var(--pm-ink)!important;font-size:12px!important;font-variant-numeric:tabular-nums}
.dims span:after{content:''!important}

/* ---------- panel parametrów ---------- */
html body main aside{background:var(--pm-bg)!important;border-left:1px solid var(--pm-line)!important;padding:0!important;scroll-behavior:smooth}
html body aside .aside-head{margin:0!important;position:sticky;top:0;z-index:8;background:rgba(246,243,237,.94)!important;backdrop-filter:blur(8px);padding:18px 20px 14px!important;border-bottom:1px solid var(--pm-line)!important}
.aside-head span{font-family:var(--pm-font)!important;font-size:18px!important;font-weight:800!important;letter-spacing:-.01em;color:var(--pm-ink)!important}
.aside-head small{display:block;margin-top:2px;font-size:12px!important;color:var(--pm-muted)!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important}
aside>details:not(#pm1):not(#pm2){margin:12px 14px 0!important;background:var(--pm-card)!important;border:1px solid var(--pm-line)!important;border-radius:var(--pm-r)!important;box-shadow:0 1px 2px rgba(31,29,26,.04);overflow:hidden}
aside>details:not(#pm1):not(#pm2)[open]{box-shadow:var(--pm-shadow)}
aside>details:not(#pm1):not(#pm2)>summary{padding:15px 18px!important;font-size:15px!important;font-weight:700!important;color:var(--pm-ink)!important;font-family:var(--pm-font)!important;text-transform:none!important;letter-spacing:0!important;display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;position:relative;background:transparent!important;border:0!important}
aside>details:not(#pm1):not(#pm2)>summary::-webkit-details-marker{display:none}
aside>details:not(#pm1):not(#pm2)>summary:hover{background:var(--pm-soft)!important}
aside>details:not(#pm1):not(#pm2)>summary:after{content:''!important;margin-left:auto;width:8px;height:8px;border-right:2px solid var(--pm-muted);border-bottom:2px solid var(--pm-muted);transform:rotate(45deg) translateY(-2px);transition:transform .2s;position:static!important}
aside details[open]>summary:after{transform:rotate(-135deg) translateY(-2px)}
aside details[open]>summary{border-bottom:1px solid var(--pm-line-2)!important}
aside{counter-reset:pmstep}
aside>details>summary::before{counter-increment:pmstep;content:counter(pmstep);flex:none;width:24px;height:24px;border-radius:50%;background:var(--pm-brand-soft);color:var(--pm-brand-2);font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
aside>details[style*="display: none"],aside>details[hidden]{display:none!important}
aside details:not(#pm1):not(#pm2) .panel,aside details:not(#pm1):not(#pm2) .connector-settings,aside details:not(#pm1):not(#pm2) .side-drop-panel{padding:14px 18px 18px!important;background:transparent!important}
.panel label,.panel .lab{font-size:12px!important;font-weight:600!important;color:var(--pm-ink-2)!important}
.panel input:not([type=radio]):not([type=checkbox]):not([type=range]),.panel select,.subrow select,aside select,aside input[type=text],aside input[type=number]{height:42px!important;border:1px solid var(--pm-line)!important;border-radius:var(--pm-r-sm)!important;background:#fff!important;padding:0 12px!important;font-size:14px!important;color:var(--pm-ink)!important;transition:border-color .15s,box-shadow .15s;margin-top:6px}
aside select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--pm-muted) 50%),linear-gradient(135deg,var(--pm-muted) 50%,transparent 50%)!important;background-position:calc(100% - 18px) 18px,calc(100% - 13px) 18px!important;background-size:5px 5px!important;background-repeat:no-repeat!important;padding-right:34px!important}
aside input:focus,aside select:focus{border-color:var(--pm-brand)!important;box-shadow:0 0 0 3px rgba(160,104,58,.15)!important;outline:none}
.hint,.panel small,.v46-note{font-size:12px!important;color:var(--pm-muted)!important;line-height:1.5}
.v46-note{background:var(--pm-brand-soft)!important;border:0!important;border-radius:var(--pm-r-sm)!important;padding:10px 12px!important;margin:12px 18px 0!important;color:var(--pm-ink-2)!important}
.v46-note b{color:var(--pm-brand-2)}
.panel h4,.pm-decor-box h4{font-size:11px!important;font-weight:800!important;letter-spacing:.1em!important;color:var(--pm-muted)!important;text-transform:uppercase;margin:14px 0 8px!important}

/* ---------- sterowanie wymiarami (wszystkie typy szafek) ---------- */
.lower-dim-control,.wc90-control,.hood-control,.tall-control{display:grid;gap:6px;margin:0 0 16px!important;padding:0!important}
.lower-dim-control>span,.wc90-control>span,.hood-control>span,.tall-control>span{font-size:13px!important;font-weight:700!important;color:var(--pm-ink)!important}
.lower-dim-step,.wc90-step,.hood-step,.tall-step{display:grid;grid-template-columns:minmax(0,1fr) 42px 42px!important;gap:8px!important;align-items:center}
.lower-dim-step input,.wc90-step input,.hood-step input,.tall-step input{margin:0!important;font-variant-numeric:tabular-nums;font-weight:700;font-size:16px!important}
.lower-dim-step button,.wc90-step button,.hood-step button,.tall-step button{width:42px!important;height:42px!important;border:1px solid var(--pm-line)!important;border-radius:var(--pm-r-sm)!important;background:#fff!important;color:var(--pm-ink)!important;font-size:20px!important;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,transform .05s;padding:0!important}
.lower-dim-step button:hover,.wc90-step button:hover,.hood-step button:hover,.tall-step button:hover{border-color:var(--pm-brand)!important;background:var(--pm-brand-soft)!important}
.lower-dim-step button:active,.wc90-step button:active,.hood-step button:active,.tall-step button:active{transform:scale(.96)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%!important;height:6px!important;border-radius:999px;background:var(--pm-line)!important;border:0!important;padding:0!important;margin:8px 0 2px!important;accent-color:var(--pm-brand)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--pm-brand);box-shadow:0 2px 6px rgba(31,29,26,.25);cursor:grab}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--pm-brand);box-shadow:0 2px 6px rgba(31,29,26,.25);cursor:grab}
input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:var(--pm-line)}

/* ---------- wybór typu frontu, półek, łączników ---------- */
.front-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important;margin:6px 0 4px!important}
.front-types button{width:auto!important;height:auto!important;min-height:78px;border:1px solid var(--pm-line)!important;border-radius:var(--pm-r-sm)!important;background:#fff!important;color:var(--pm-ink-2)!important;padding:10px 4px!important;gap:6px!important;cursor:pointer;transition:border-color .15s,background .15s}
.front-types button:hover{border-color:var(--pm-brand)!important}
.front-types button.on{border:2px solid var(--pm-brand)!important;background:var(--pm-brand-soft)!important;color:var(--pm-brand-2)!important}
.front-types button b{font-size:22px!important}
.front-types span{font-size:12px!important;font-weight:600;color:inherit!important}
.v156-shelf-icons{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:8px!important}
.v156-shelf-btn,.side-drop-btn,.v65-brand-btn{border:1px solid var(--pm-line)!important;border-radius:var(--pm-r-sm)!important;background:#fff!important;color:var(--pm-ink-2)!important;font-weight:600;font-size:13px;padding:10px 8px!important;cursor:pointer;transition:border-color .15s,background .15s}
.v156-shelf-btn:hover,.side-drop-btn:hover,.v65-brand-btn:hover{border-color:var(--pm-brand)!important}
.v156-shelf-btn.on,.v65-brand-btn.active{border:2px solid var(--pm-brand)!important;background:var(--pm-brand-soft)!important;color:var(--pm-brand-2)!important}
.connector-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important}
.connector-card{border:1px solid var(--pm-line)!important;border-radius:var(--pm-r-sm)!important;background:#fff!important;padding:8px 6px!important;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:11px!important;font-weight:600;transition:border-color .15s,background .15s}
.connector-card:hover{border-color:var(--pm-brand)!important}
.connector-card:has(input:checked){border:2px solid var(--pm-brand)!important;background:var(--pm-brand-soft)!important}
.connector-card input{position:absolute;opacity:0;pointer-events:none}
.connector-art svg{width:100%;height:auto;max-height:46px}

/* ---------- dekory ---------- */
.pm-decor-box,.catalog-choice{border:1px solid var(--pm-line)!important;border-radius:var(--pm-r)!important;background:#fff!important;box-shadow:none!important;padding:14px!important;margin:0 0 12px}
.v45-decor-card{border:1px solid var(--pm-line)!important;border-radius:var(--pm-r-sm)!important;background:#fff!important}
.v45-swatch{border-radius:8px!important}
.selected,.material-panel .selected{background:var(--pm-soft)!important;border:0!important;border-left:3px solid var(--pm-brand)!important;border-radius:8px!important;padding:10px 12px!important;color:var(--pm-ink-2)!important}

/* ---------- pasek zakupu ---------- */
#v69Buybar{position:sticky!important;bottom:0!important;left:auto!important;right:auto!important;width:auto!important;margin:14px 0 0;padding:14px 18px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(10px);border:0!important;border-top:1px solid var(--pm-line)!important;box-shadow:0 -10px 30px rgba(31,29,26,.08)!important;display:flex;align-items:center;justify-content:space-between;gap:14px;z-index:6}
#v69Buybar small{display:block;font-size:11px!important;color:var(--pm-muted)!important;font-weight:600;letter-spacing:.03em}
#v69Buybar strong{font-size:22px!important;font-weight:800!important;color:var(--pm-ink)!important;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
#v69Add{border:0!important;border-radius:999px!important;background:var(--pm-brand)!important;color:#fff!important;font-size:15px!important;font-weight:700!important;padding:0 26px!important;height:48px!important;cursor:pointer;box-shadow:0 6px 16px rgba(160,104,58,.35)!important;transition:background .15s,transform .05s}
#v69Add:hover{background:var(--pm-brand-2)!important}
#v69Add:active{transform:translateY(1px)}

/* ---------- okna modalne (katalog, dekory, projekt, zamówienie) ---------- */
.decor-modal{background:rgba(31,29,26,.55)!important;backdrop-filter:blur(6px);padding:24px!important}
.decor-dialog{border-radius:20px!important;box-shadow:var(--pm-shadow-lg)!important;background:var(--pm-bg)!important;overflow:hidden}
.decor-head{background:#fff!important;border-bottom:1px solid var(--pm-line)!important;padding:16px 22px!important}
.decor-head b,.decor-head strong{font-family:var(--pm-font)!important;font-size:20px!important;font-weight:800!important;letter-spacing:-.01em!important;text-transform:none!important;color:var(--pm-ink)!important}
.decor-head small,.decor-head span:not(.close){font-size:13px!important;color:var(--pm-muted)!important}
.decor-head img{width:44px!important;height:44px!important;border-radius:50%!important}
#decorClose,#cabinetListClose,#trialOrderClose,.catalog-head-actions button{border:1px solid var(--pm-line)!important;border-radius:999px!important;background:#fff!important;width:40px!important;height:40px!important;cursor:pointer;font-size:18px;color:var(--pm-ink)!important;display:inline-flex;align-items:center;justify-content:center}
#decorClose:hover,#cabinetListClose:hover,#trialOrderClose:hover,.catalog-head-actions button:hover{border-color:var(--pm-brand)!important;background:var(--pm-brand-soft)!important}

/* mocniejsze selektory dla sekcji (stare reguły używają identyfikatorów) */
html body aside>details:not(#pm1):not(#pm2){margin:12px 14px 0!important;border:1px solid var(--pm-line)!important;border-radius:var(--pm-r)!important;background:var(--pm-card)!important;width:auto!important;max-width:none!important}
html body aside>details:not(#pm1):not(#pm2)>summary{color:var(--pm-ink)!important;background:transparent!important;text-transform:none!important;letter-spacing:0!important;font-size:15px!important;font-weight:700!important;padding:15px 18px!important;border:0!important}
html body aside>details:not(#pm1):not(#pm2)>summary:after{position:static!important;right:auto!important;font-size:0!important}
html body aside>details.v69-technical:not(#pm1):not(#pm2)>summary{color:var(--pm-ink-2)!important}
html body aside>div#v69Buybar{margin:14px 0 0!important}
html body aside>details:not(#pm1):not(#pm2)>summary{display:flex!important;align-items:center!important;gap:10px!important}
html body main>aside>details:not(#pm1):not(#pm2)>summary:after{content:''!important;display:block!important;position:static!important;margin-left:auto!important;width:8px!important;height:8px!important;border-right:2px solid var(--pm-muted)!important;border-bottom:2px solid var(--pm-muted)!important;transform:rotate(45deg) translateY(-2px)!important;transition:transform .2s;top:auto!important;right:auto!important;font-size:0!important;flex:none}
html body main>aside>details[open]:not(#pm1):not(#pm2)>summary:after{transform:rotate(-135deg) translateY(-2px)!important}
html body aside .aside-head:after{display:none!important}
html body #v69Buybar>div{min-width:0}
html body #v69Buybar button{flex:none!important;white-space:nowrap!important}
html body #v69Buybar small{white-space:nowrap}

/* ============ PARTIA 2: katalog, modale, blaty, formularze ============ */
/* okna modalne zawsze nad panelem i paskiem zakupu */
#cabinetCatalogModal,#decorModal,#cabinetListModal,#trialOrderModal,.pm-wt-modal,[id^=pmWt]{z-index:1000}
.decor-modal{z-index:1000!important}
html body h1,html body h2,html body h3,.cabinet-category-title h2,.category-home-card strong,.cabinet-category-card strong,[class*=pm-wt] h1,[class*=pm-wt] h2,[class*=pm-wt] h3,#pmWtModal h1,#pmWtModal h2,#pmWtModal h3{font-family:var(--pm-font)!important;letter-spacing:-.01em!important;text-transform:none!important}
.cabinet-category-title{padding:6px 0 18px!important;border:0!important}
.cabinet-category-title h2,.cabinet-category-title h3{font-size:26px!important;font-weight:800!important;color:var(--pm-ink)!important;margin:0!important}
.cabinet-category-title small,.cabinet-category-title span{font-size:13px!important;color:var(--pm-muted)!important}
.cabinet-category,.decor-dialog section{background:transparent!important}
.cabinet-catalog-dialog{width:min(1280px,96vw)!important}
.cabinet-catalog-dialog>section{padding:22px 28px 90px!important;overflow:auto}

/* karty kategorii na stronie głównej katalogu: jednolite, także te dodane skryptem */
.category-home-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;gap:18px!important;align-items:stretch}
.category-home-card,.cabinet-category-card,button.category-home-card,.pm-wt-folder-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;text-align:left!important;gap:0!important;padding:0!important;min-height:300px;border:1px solid var(--pm-line)!important;border-radius:var(--pm-r)!important;background:#fff!important;box-shadow:0 1px 2px rgba(31,29,26,.05)!important;overflow:hidden;cursor:pointer;font:inherit;color:inherit!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s}
.category-home-card:hover,.cabinet-category-card:hover{transform:translateY(-3px);box-shadow:var(--pm-shadow)!important;border-color:#d9c9b2!important}
.category-sketch,.cabinet-sketch{flex:none;height:170px!important;display:flex!important;align-items:center;justify-content:center;background:linear-gradient(180deg,#faf8f4,#f2eee6)!important;margin:0!important;border:0!important;overflow:hidden}
.category-home-card strong,.cabinet-category-card strong{display:block!important;margin:16px 18px 4px!important;font-size:17px!important;font-weight:800!important;color:var(--pm-ink)!important;line-height:1.2;text-transform:none!important}
.category-home-card small,.cabinet-category-card small{display:block!important;margin:0 18px!important;font-size:13px!important;color:var(--pm-muted)!important;line-height:1.45}
.category-home-card span:last-child,.cabinet-category-card>span:last-child{display:block!important;margin:auto 18px 16px!important;padding-top:12px;font-size:13px!important;font-weight:700!important;color:var(--pm-brand)!important;position:static!important}
.pm-wt-folder-stack{display:flex;flex-direction:column;gap:6px;transform:rotate(-6deg)}
.pm-wt-folder-stack i{display:block;width:150px;height:26px;border-radius:5px;background:linear-gradient(90deg,#e0cfb8,#b79b78);box-shadow:0 4px 10px rgba(31,29,26,.18)}

/* karty modeli szafek */
.cabinet-catalog-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;gap:16px!important}
.cabinet-catalog-card,.catalog-model-card,.cabinet-catalog-grid>*{border:1px solid var(--pm-line)!important;border-radius:var(--pm-r)!important;background:#fff!important;box-shadow:0 1px 2px rgba(31,29,26,.05)!important;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s}
.cabinet-catalog-grid>*:hover{transform:translateY(-2px);box-shadow:var(--pm-shadow)!important;border-color:#d9c9b2!important}
.cabinet-catalog-grid button:not(:disabled):not(.catalog-real-3d-wrap){font-family:var(--pm-font)!important}
.cabinet-catalog-grid [class*=cta],.cabinet-catalog-grid button[class*=choose],.cabinet-catalog-grid .cabinet-card-button{background:var(--pm-accent)!important;color:#fff!important;border-radius:var(--pm-r-sm)!important;font-weight:700!important}

/* okno projektu (lista szafek) */
#cabinetListBody{padding:6px 22px 14px!important}
#cabinetListBody>div{background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-r);padding:14px 16px!important;margin:12px 0!important;box-shadow:0 1px 2px rgba(31,29,26,.04)}
#cabinetListBody b{font-size:15px;color:var(--pm-ink)}
#cabinetListBody .hint,#cabinetListBody small{line-height:1.55}
#cabinetListBody button{height:34px;padding:0 14px;border:1px solid var(--pm-line)!important;border-radius:999px!important;background:#fff!important;color:var(--pm-bad)!important;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
#cabinetListBody button:hover{background:#fdf1f0!important;border-color:#e6b9b5!important}
#cabinetListBody>div:last-child{background:transparent;border:0;box-shadow:none;text-align:right;font-size:22px!important;font-weight:800!important;font-variant-numeric:tabular-nums}
#cabinetListModal .decor-dialog,#trialOrderModal .decor-dialog{width:min(780px,96vw)!important;height:auto!important;max-height:92vh}

/* formularz zamówienia i wszystkie przyciski w modalach */
.decor-modal input:not([type=radio]):not([type=checkbox]):not([type=range]),.decor-modal select,.decor-modal textarea,#trialOrderModal input,#trialOrderModal select,#trialOrderModal textarea{border:1px solid var(--pm-line)!important;border-radius:var(--pm-r-sm)!important;background:#fff!important;padding:11px 12px!important;font-size:14px!important;color:var(--pm-ink)!important;min-height:44px;width:100%;transition:border-color .15s,box-shadow .15s}
.decor-modal textarea{min-height:92px}
.decor-modal input:focus,.decor-modal select:focus,.decor-modal textarea:focus{border-color:var(--pm-brand)!important;box-shadow:0 0 0 3px rgba(160,104,58,.15)!important;outline:none}
.decor-modal label{font-size:12px;font-weight:700;color:var(--pm-ink-2)}
.decor-dialog>div:not(.decor-head) button,#trialOrderModal button,#cabinetListModal .decor-dialog>div button#trialOrderStart,#trialOrderStart{height:46px;padding:0 22px!important;border-radius:999px!important;border:1px solid var(--pm-line)!important;background:#fff!important;color:var(--pm-ink)!important;font-weight:700!important;font-size:14px!important;cursor:pointer;transition:background .15s,border-color .15s,transform .05s}
#trialOrderStart,#trialOrderModal button.primary,#trialOrderModal #trialOrderPdf,#trialOrderModal button:nth-of-type(2){background:var(--pm-brand)!important;border-color:var(--pm-brand)!important;color:#fff!important;box-shadow:0 6px 16px rgba(160,104,58,.28)}
#trialOrderModal button:hover{border-color:var(--pm-brand)!important}
#trialOrderModal button:active{transform:translateY(1px)}
.trial-order-fields{gap:14px!important}

/* wybór dekorów */
.decor-card{border:1px solid var(--pm-line)!important;border-radius:var(--pm-r-sm)!important;background:#fff!important;transition:border-color .15s,box-shadow .15s,transform .15s}
.decor-card:hover{transform:translateY(-2px);box-shadow:var(--pm-shadow)!important}
.decor-card.selected{border:2px solid var(--pm-brand)!important;box-shadow:0 0 0 3px rgba(160,104,58,.15)!important}
.decor-card img{border-radius:8px!important}
.v60-brand-rail{background:#fff!important;border-right:1px solid var(--pm-line)!important}

/* blaty na wymiar */
[class*=pm-wt] button,[id^=pmWt] button{font-family:var(--pm-font)!important}
#pmWtModal,.pm-wt-page{background:var(--pm-bg)!important;font-family:var(--pm-font)!important}

/* toast */
#toast{background:var(--pm-ink)!important;color:#fff!important;border-radius:999px!important;padding:12px 20px!important;font-weight:600;box-shadow:var(--pm-shadow-lg);z-index:2000!important}

/* ===== poprawki specyficzności (stare reguły używają identyfikatorów i !important) ===== */
html body #v69Buybar{z-index:20!important}
html body #cabinetCatalogModal #cabinetCategoryView .category-home-grid{grid-template-columns:repeat(auto-fill,minmax(236px,1fr))!important;width:100%!important;max-width:1220px!important;margin:0 auto!important;gap:18px!important;justify-content:stretch!important}
html body #cabinetCatalogModal .category-home-card strong,html body #cabinetCatalogModal .cabinet-category-card strong{text-transform:none!important;font-family:var(--pm-font)!important;font-size:18px!important;font-weight:800!important;letter-spacing:-.01em!important;color:var(--pm-ink)!important;margin:16px 18px 4px!important}
html body #cabinetCatalogModal .category-home-card,html body #cabinetCatalogModal .cabinet-category-card{min-height:290px!important;height:auto!important;padding:0!important;border-radius:var(--pm-r)!important}
html body #cabinetCatalogModal .category-home-card .cabinet-sketch,html body #cabinetCatalogModal .category-home-card .category-sketch{height:168px!important;min-height:168px!important}
html body #cabinetCatalogModal .cabinet-category-title h2,html body #cabinetCatalogModal .cabinet-category-title h3{font-family:var(--pm-font)!important;font-size:24px!important;font-weight:800!important;text-transform:none!important;letter-spacing:-.01em!important}
html body #cabinetCatalogModal .decor-dialog{background:var(--pm-bg)!important}

/* ============ PARTIA 3: telefon i tablet ============ */
@media (max-width:980px){
  :root{--pm-head:58px}
  html,body{height:auto!important}
  body{overflow:auto!important}
  header{height:auto!important;min-height:var(--pm-head);padding:8px 12px!important;flex-wrap:wrap;gap:8px;position:sticky;top:0}
  .brand img{width:34px!important;height:34px!important}
  .brand strong{font-size:12px!important;letter-spacing:.1em!important}
  .back-to-site{font-size:11px!important}
  .top-actions{width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .top-actions::-webkit-scrollbar{display:none}
  .top-actions button,.top-actions a{height:36px!important;padding:0 13px!important;font-size:12.5px!important;flex:none;white-space:nowrap}
  main{display:block!important;height:auto!important}
  .stage{height:min(46dvh,420px)!important;min-height:300px;position:sticky!important;top:0;z-index:4;border-bottom:1px solid var(--pm-line)}
  html body main aside{border-left:0!important;overflow:visible!important;padding-bottom:110px!important}
  .model-title{top:10px!important;left:10px!important;padding:7px 10px!important;font-size:12px!important;max-width:calc(100% - 20px)}
  .model-title small{display:none!important}
  .viewbar{bottom:10px!important}
  .viewbar button{padding:7px 13px!important;font-size:12px}
  .v64-model-badge,#livePrice{display:none!important}
  .dims .v64-dim span{font-size:11px!important;padding:3px 6px!important}
  aside>details:not(#pm1):not(#pm2){margin:10px 10px 0!important}
  html body aside .aside-head{position:static!important;padding:16px 16px 10px!important;background:transparent!important;border:0!important;backdrop-filter:none}
  html body #v69Buybar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;margin:0!important;padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important;z-index:30!important}
  #v69Add{height:46px!important;padding:0 20px!important;font-size:14px!important}
  #v69Buybar strong{font-size:19px!important}
  .front-types{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .connector-options{grid-template-columns:1fr!important}
  .decor-modal{padding:0!important;align-items:flex-end!important}
  .decor-dialog,.cabinet-catalog-dialog{width:100vw!important;max-width:none!important;height:94dvh!important;max-height:94dvh!important;border-radius:20px 20px 0 0!important}
  #cabinetListModal .decor-dialog,#trialOrderModal .decor-dialog{height:auto!important;max-height:94dvh!important}
  .cabinet-catalog-dialog>section{padding:16px 14px 90px!important}
  html body #cabinetCatalogModal #cabinetCategoryView .category-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  html body #cabinetCatalogModal .category-home-card,html body #cabinetCatalogModal .cabinet-category-card{min-height:230px!important}
  html body #cabinetCatalogModal .category-home-card .cabinet-sketch,html body #cabinetCatalogModal .category-home-card .category-sketch{height:112px!important;min-height:112px!important}
  html body #cabinetCatalogModal .category-home-card strong{font-size:15px!important;margin:12px 12px 3px!important}
  html body #cabinetCatalogModal .category-home-card small{margin:0 12px!important;font-size:12px!important}
  html body #cabinetCatalogModal .category-home-card span:last-child{margin:auto 12px 12px!important;font-size:12px!important}
  .cabinet-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:12px!important}
  .decor-head{padding:12px 14px!important}
  .decor-head b,.decor-head strong{font-size:17px!important}
  .trial-order-fields{grid-template-columns:1fr!important}
}
@media (max-width:420px){
  html body #cabinetCatalogModal #cabinetCategoryView .category-home-grid{grid-template-columns:1fr 1fr!important}
  .cabinet-catalog-grid{grid-template-columns:1fr 1fr!important}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

@media (max-width:980px){
  html body header{position:static!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;padding:8px 12px 6px!important;gap:6px 10px!important}
  html body header .brand{flex:1 1 auto;min-width:0}
  html body header .top-actions{display:flex!important;flex-wrap:nowrap!important;flex:1 0 100%!important;width:100%!important;overflow-x:auto!important;gap:6px!important;padding:0 0 4px!important;margin:0!important}
  html body header .top-actions>*{flex:0 0 auto!important;width:auto!important;min-width:0!important;height:34px!important;padding:0 12px!important;font-size:12px!important}
  html body header .top-actions #installApp{display:none!important}
}

/* blokada przewijania strony pod otwartym oknem */
body:has(.decor-modal.open){overflow:hidden!important}

html body header .brand strong,html body .brand-logo strong{font-family:var(--pm-font)!important;font-weight:800!important;letter-spacing:.14em!important;font-size:14px!important}
html body .stage .model-title{font-family:var(--pm-font)!important}
html body .dims .v64-dim span b,html body .dims .v64-dim span em{font-family:var(--pm-font)!important}
html body [class*=pm-wt] h1,html body [class*=pm-wt] h2,html body #pmWtModal h1,html body #pmWtModal h2{font-weight:800!important;color:var(--pm-ink)!important}
html body [class*=pm-wt] h1,html body #pmWtModal h1{font-size:24px!important}

/* elementy ukryte atrybutem hidden lub stylem inline zawsze zostają ukryte */
[hidden]{display:none!important}


/* ============ PARTIA 4: nowa paleta, tło studia i krój pisma ============ */
html,body{background:linear-gradient(180deg,#f6f2ea,#eee8dc) fixed!important}
body{font-size:13.5px;line-height:1.55;letter-spacing:-.003em}
html body h1,html body h2,html body h3,html body .aside-head span,html body .decor-head b,html body .decor-head strong{font-weight:700!important;letter-spacing:-.015em!important}
html body header{background:rgba(255,255,255,.82)!important}
.stage{isolation:isolate;background:radial-gradient(70% 55% at 50% 10%,#ffffff 0,rgba(255,255,255,0) 72%),radial-gradient(95% 65% at 50% 102%,#ddd1bd 0,rgba(221,209,189,0) 64%),linear-gradient(180deg,#f8f4ed 0,#ece5d6 100%)!important}
.stage::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(90,68,40,.13) 1px,transparent 1.5px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 72% 62% at 50% 50%,#000 0,transparent 80%);mask-image:radial-gradient(ellipse 72% 62% at 50% 50%,#000 0,transparent 80%)}
canvas#c{background:transparent!important}
.top-actions #add,#v69Add{background-image:linear-gradient(135deg,var(--pm-brand),var(--pm-brand-2))}
.top-actions #add{background-image:none}
#v69Add{background-image:linear-gradient(135deg,#b3763f,#7a4a24)!important}
aside>details>summary::before{background:linear-gradient(135deg,#f6ebdd,#ecd9bf)!important;color:var(--pm-brand-2)!important}
.category-sketch,.cabinet-sketch{background:linear-gradient(180deg,#fcfaf6,#efe9dd)!important}
.catalog-real-3d-wrap{padding:0!important}
.catalog-real-3d{width:100%!important;height:100%!important;object-fit:cover}
.category-home-card:hover,.cabinet-catalog-grid>*:hover{border-color:#d8bf9c!important}

/* ostrzeżenie o brakujących teksturach */
#pmTexWarn{position:fixed;left:50%;top:76px;transform:translateX(-50%);z-index:3000;max-width:min(640px,calc(100vw - 24px));background:#fff7e8;border:1px solid #f0cf94;color:#5a3d0b;border-radius:14px;padding:12px 44px 12px 16px;box-shadow:var(--pm-shadow);font-size:13px;line-height:1.45}
#pmTexWarn code{background:#fbe8c4;border-radius:5px;padding:1px 6px}
#pmTexWarn button{position:absolute;right:8px;top:8px;width:28px;height:28px;border:0;border-radius:50%;background:transparent;font-size:18px;cursor:pointer;color:#5a3d0b}

html body #cabinetCatalogModal .cabinet-category-title,html body #cabinetCatalogModal .cabinet-category-title *{font-family:var(--pm-font)!important;text-transform:none!important}
html body #cabinetCatalogModal .cabinet-category-title h2,html body #cabinetCatalogModal .cabinet-category-title h3,html body #cabinetCatalogModal .cabinet-category-title strong{font-size:26px!important;font-weight:700!important;letter-spacing:-.02em!important;color:var(--pm-ink)!important}
html body #v69Buybar small{letter-spacing:0!important}
html body .model-title small,html body .v64-model-badge{letter-spacing:.02em!important}

/* pola z przyciskami − / + w sekcji Korpus (cofnięcie cokołu, opuszczanie i wysuwanie boków) */
html body #bodySection .side-drop-control{display:grid!important;grid-template-columns:minmax(0,1fr) 44px 44px!important;gap:8px!important;align-items:center}
html body #bodySection .side-drop-control:has(.side-drop-icon){grid-template-columns:44px minmax(0,1fr) 44px 44px!important}
html body #bodySection .side-drop-control .side-drop-number{width:100%!important;min-width:0}
html body #bodySection .side-drop-control .side-drop-btn{width:44px!important;height:44px!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1}
html body #bodySection .side-drop-help,html body #bodySection .side-drop-scale{grid-column:1/-1}
html body #bodySection .side-drop-range{grid-column:1/-1}

/* zagnieżdżone sekcje (łączniki, boki): spójna strzałka */
html body aside details details>summary{display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px!important;font-size:12px!important;font-weight:700!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--pm-ink-2)!important}
html body aside details details>summary:after{content:''!important;position:static!important;display:block!important;flex:none;width:7px!important;height:7px!important;border-right:2px solid var(--pm-muted)!important;border-bottom:2px solid var(--pm-muted)!important;transform:rotate(45deg) translateY(-2px)!important;transition:transform .2s;font-size:0!important;right:auto!important;top:auto!important}
html body aside details details[open]>summary:after{transform:rotate(-135deg) translateY(-2px)!important}
