/* ---------- KONFIGURATOR (wszystko pod .zk) ---------- */
/* układ: przycisk → panel; nagłówek z modelem / lista bloków opcji / stopka z podsumowaniem i ceną */
.zk{--ink:#1d2420;--mute:#5f6a62;--line:#d8dcd4;--soft:#f4f5f1;--card:#fff;--acc:#2f5d46;--acc-ink:#fff;--acc-soft:#e3ece6;--price:#1d2420;--warn:#9a5b12;
  --r:6px;color:var(--ink);font-family:inherit;font-size:15px;line-height:1.45}
.zk *{box-sizing:border-box}
.zk button{font:inherit;cursor:pointer}
.zk :focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.zk-open{display:flex;align-items:center;gap:10px;width:100%;justify-content:space-between;padding:14px 18px;border:2px solid var(--acc);border-radius:var(--r);background:var(--acc-soft);color:var(--acc);font-weight:700;font-size:16px}
.zk-open .zk-chev{transition:transform .2s}
.zk.is-open .zk-open .zk-chev{transform:rotate(180deg)}
.zk-panel{margin-top:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:clip}
.zk-head{padding:16px 18px;border-bottom:1px solid var(--line);background:var(--soft);display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:18px;align-items:center}
.zk-hero{position:relative;border-radius:4px;overflow:hidden;background:#fff;border:1px solid var(--line);padding:0;cursor:zoom-in;display:block;width:100%}
.zk-hero img{display:block;width:100%;height:auto}
.zk-head-t{min-width:0}
.zk-stdlist{margin-top:8px;font-size:13.5px;color:var(--mute)}
.zk-stdlist b{color:var(--ink);font-weight:600}
.zk-price.is-ask{font-size:14px;font-weight:600;color:var(--warn)}
.zk-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
.zk-model{font-size:22px;font-weight:700;margin:2px 0 0;text-wrap:balance}
.zk-base{color:var(--mute);font-size:14px}
.zk-group{padding:6px 18px 2px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--mute);margin-top:10px}
.zk-list{display:flex;flex-direction:column}
.zk-opt{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 18px;border-top:1px solid var(--line)}
.zk-opt.is-child{padding-left:42px;background:var(--soft)}
.zk-opt.is-child .zk-img{width:130px}
.zk-opt.is-on{background:var(--acc-soft)}
.zk-opt.is-child.is-on{background:#d8e5dc}
.zk-img{position:relative;width:150px;height:112px;border-radius:4px;overflow:hidden;background:#fff;border:1px solid var(--line);max-width:100%;padding:0;cursor:zoom-in}
.zk-img img{width:100%;height:100%;object-fit:contain;display:block}
.zk-img.is-ph{cursor:default;background:var(--soft)}.zk-img.is-ph img{object-fit:cover}
.zk-img.zk-gal{cursor:default}
.zk-zoom{position:absolute;right:4px;bottom:4px;width:24px;height:24px;border-radius:50%;background:rgba(29,36,32,.72)}
.zk-zoom::before{content:"";position:absolute;left:6px;top:6px;width:8px;height:8px;border:2px solid #fff;border-radius:50%}
.zk-zoom::after{content:"";position:absolute;left:15px;top:15px;width:2px;height:6px;background:#fff;transform:rotate(-45deg);transform-origin:top}
.zk-body{min-width:0}
.zk-name{font-weight:650}
.zk-desc{color:var(--mute);font-size:13.5px}
.zk-std{color:var(--mute);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.zk-tick{display:flex;align-items:center;gap:12px;background:none;border:0;padding:6px;border-radius:4px;color:var(--ink)}
.zk-price{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.zk-box{width:26px;height:26px;border:2px solid var(--acc);border-radius:4px;display:grid;place-items:center;background:var(--card);flex:none}
.zk-opt.is-on .zk-box{background:var(--acc)}
.zk-opt.is-on .zk-box::after{content:"";width:7px;height:13px;border:solid var(--acc-ink);border-width:0 3px 3px 0;transform:translateY(-2px) rotate(45deg)}
.zk-box.is-locked{border-style:dashed;opacity:.6}
.zk-vars{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.zk-var{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:4px;padding:6px 10px;font-size:14px}
.zk-var input{accent-color:var(--acc);margin:0}
.zk-var.is-on{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}
.zk-var small{color:var(--mute);font-variant-numeric:tabular-nums}
.zk-tr{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.zk-tr-modes{display:flex;flex-wrap:wrap;gap:8px}
.zk-tr-form{display:flex;flex-wrap:wrap;gap:8px}
.zk-tr-form select,.zk-tr-form input{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--ink);min-width:0}
.zk-tr-form input{width:9em}
.zk-btn{border:1px solid var(--acc);background:var(--card);color:var(--acc);border-radius:4px;padding:7px 14px;font-weight:600}
.zk-btn:disabled{opacity:.5;cursor:default}
.zk-tr-res{font-size:13.5px;color:var(--mute)}
.zk-tr-err{font-size:13.5px;color:var(--warn);font-weight:600}
.zk-foot{border-top:2px solid var(--ink);padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:16px 24px;align-items:end}
.zk-sum h3{margin:0 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
.zk-sum ul{list-style:none;margin:0;padding:0;font-size:14px}
.zk-sum li{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-bottom:1px dotted var(--line)}
.zk-sum li span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.zk-sum li.sub{padding-left:14px;color:var(--mute)}
.zk-sum .zk-stdline{color:var(--mute);font-size:13px;margin-top:8px}
.zk-total{text-align:right}
.zk-total-l{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
.zk-total-v{font-size:32px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}
.zk-total-n{font-size:12.5px;color:var(--mute)}
.zk-order{margin-top:10px;width:100%;border:0;background:var(--acc);color:var(--acc-ink);font-weight:800;font-size:17px;letter-spacing:.04em;padding:14px 22px;border-radius:var(--r)}
.zk-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.zk-save-msg{font-size:13px;color:var(--mute)}
.zk-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:4px;font-size:14px;z-index:9999;max-width:calc(100% - 32px)}
@media (max-width:640px){
  .zk-head{grid-template-columns:1fr}
  .zk-opt{grid-template-columns:112px minmax(0,1fr);grid-template-areas:"img body" "img tick";gap:10px 12px;padding:12px}
  .zk-opt .zk-img{grid-area:img;width:112px;height:84px;align-self:start}
  .zk-opt.is-child .zk-img{width:100px;height:75px}
  .zk-opt .zk-body{grid-area:body}
  .zk-opt .zk-tick{grid-area:tick;justify-self:end}
  .zk-opt.is-child{padding-left:20px}
  .zk-foot{grid-template-columns:1fr}
  .zk-total{text-align:left}
}
/* --- arkusz do druku / PDF --- */
.zk-print-root{display:none}
@media print{
  html.zk-printing body>*:not(.zk-print-root){display:none!important}
  html.zk-printing .zk-print-root{display:block}
  @page{size:A4;margin:14mm}
}
.zk-print-root{font:11pt/1.45 system-ui,"Segoe UI",Roboto,Arial,sans-serif;color:#000}
.zk-print-root h1{font-size:18pt;margin:0 0 2mm}
.zk-print-root .pm{color:#444;font-size:9.5pt;margin-bottom:6mm}
.zk-print-root table{width:100%;border-collapse:collapse}
.zk-print-root td{padding:2mm 1mm;border-bottom:.3mm solid #bbb;vertical-align:top}
.zk-print-root td.p{text-align:right;white-space:nowrap}
.zk-print-root tr.sub td:first-child{padding-left:6mm;color:#333}
.zk-print-root tr.tot td{border-top:.6mm solid #000;border-bottom:0;font-weight:700;font-size:13pt}
.zk-print-root .ft{margin-top:10mm;font-size:9pt;color:#333;border-top:.3mm solid #999;padding-top:3mm}
.zk-print-root a{color:#000}
.zk-modal{position:fixed;inset:0;background:rgba(20,25,22,.55);display:grid;place-items:center;padding:16px;z-index:9998}
.zk-modal>div{background:#fff;border-radius:6px;max-width:560px;width:100%;padding:18px;max-height:85vh;overflow:auto}
.zk-modal pre{font-size:12px;background:#f4f5f1;padding:10px;overflow:auto;border-radius:4px}
@media (prefers-reduced-motion:reduce){.zk *{transition:none!important}}

/* --- v3: czas realizacji, ważność cen, zapisane kalkulacje --- */
.zk-lead{display:inline-block;margin-top:4px;font-size:12.5px;font-weight:600;color:var(--warn);background:#fbf1e2;border-radius:3px;padding:1px 7px}
.zk-var .zk-lead{margin:0 0 0 4px;padding:0 5px}
.zk-banner{padding:10px 18px;background:#fbf1e2;color:#5c3a0b;font-size:14px;border-bottom:1px solid var(--line)}
.zk-banner.is-ok{background:var(--acc-soft);color:var(--acc)}
.zk-terms{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.zk-term{border:1px solid var(--line);border-radius:4px;padding:10px 12px;font-size:13.5px;background:var(--soft)}
.zk-term b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--mute);font-weight:600;margin-bottom:2px}
.zk-term .big{font-size:18px;font-weight:700;color:var(--ink)}
.zk-term.is-long{border-color:#e0b46e;background:#fbf1e2}
.zk-link{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13.5px}
.zk-link input{flex:1 1 260px;min-width:0;font:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--ink)}
.zk-mine{grid-column:1/-1;font-size:13px;color:var(--mute)}
.zk-mine a{color:var(--acc);margin-right:12px}
.zk-btn.is-main{background:var(--acc-soft)}
.zk-var.has-img{padding:4px 10px 4px 6px}
.zk-var-img{width:54px;height:40px;object-fit:cover;border-radius:3px;border:1px solid var(--line);flex:none}

/* --- format 4: ilość, rabaty --- */
.zk-qty{display:flex;align-items:center;gap:6px;margin-top:8px}
.zk-qbtn{width:34px;height:34px;border:1px solid var(--acc);background:var(--card);color:var(--acc);border-radius:4px;font-size:18px;font-weight:700;line-height:1}
.zk-qbtn:disabled{opacity:.4;cursor:default}
.zk-qin{width:70px;font:inherit;text-align:center;padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--ink)}
.zk-qunit{color:var(--mute);font-size:14px}
.zk-sum li.disc span{color:var(--acc);font-weight:600}
.zk-hint{margin-top:8px;font-size:13px;color:var(--acc);background:var(--acc-soft);border-radius:4px;padding:6px 10px}

/* --- warianty jako lista kart, powiększenie zdjęć, pasek z sumą --- */
.zk-opt.is-choice{grid-template-columns:minmax(0,1fr) auto;align-items:start}
.zk-opt.is-choice:has(> .zk-img){grid-template-columns:150px minmax(0,1fr) auto}
.zk-vlist{grid-column:1/-1;display:grid;gap:8px}
.zk-vcard{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:8px}
.zk-vcard.is-on{border-color:var(--acc);box-shadow:inset 0 0 0 2px var(--acc)}
.zk-vimg{position:relative;width:170px;min-height:110px;display:grid;place-items:center;border:0;border-radius:4px;overflow:hidden;background:#fff;padding:4px;cursor:zoom-in}
.zk-vimg img{display:block;max-width:100%;max-height:180px;width:auto;height:auto;object-fit:contain}
.zk-vimg.is-ph{cursor:default;background:var(--soft)}.zk-vimg.is-ph img{object-fit:cover}
.zk-vbody{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name radio" "desc radio" "lead radio" "price radio";align-content:center;align-items:center;column-gap:12px;row-gap:3px;cursor:pointer;align-self:stretch;padding:4px 6px 4px 0}
.zk-vbody input{position:absolute;opacity:0;pointer-events:none}
.zk-vname{grid-area:name;font-weight:650}
.zk-vbody .zk-desc{grid-area:desc}
.zk-vbody .zk-lead{grid-area:lead;justify-self:start}
.zk-vprice{grid-area:price;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}
.zk-vprice.is-ask{font-size:14px;color:var(--warn)}
.zk-radio{grid-area:radio;width:26px;height:26px;border-radius:50%;border:2px solid var(--acc);background:var(--card)}
.zk-vcard.is-on .zk-radio{background:radial-gradient(circle,var(--acc) 0 6px,var(--card) 7px)}
.zk-vbody:has(input:focus-visible){outline:2px solid var(--acc);outline-offset:2px}
.zk-tick-static{padding:6px}
/* galeria w karcie */
.zk-gal{position:relative;padding:0}
.zk-gal-img{display:grid;place-items:center;width:100%;height:100%;border:0;padding:0;margin:0;background:#fff;cursor:zoom-in;border-radius:inherit;overflow:hidden}
.zk-gal-img img{display:block;width:100%;height:100%;object-fit:contain}
.zk-vimg.zk-gal .zk-gal-img img{width:auto;height:auto;max-width:100%;max-height:180px}
.zk-gal-p,.zk-gal-n{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:0;background:rgba(29,36,32,.62);color:#fff;font-size:20px;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer;z-index:2}
.zk-gal-p{left:4px}.zk-gal-n{right:4px}
.zk-gal-p:hover,.zk-gal-n:hover{background:rgba(29,36,32,.85)}
.zk-gal-c{position:absolute;left:6px;bottom:6px;background:rgba(29,36,32,.72);color:#fff;font-size:11.5px;font-weight:700;border-radius:10px;padding:1px 7px;z-index:2;font-variant-numeric:tabular-nums}
/* pełny ekran – odporny na style strony (reset !important) */
.zk-lb{position:fixed!important;inset:0!important;z-index:2147483000!important;background:#0e100f!important;display:flex!important;flex-direction:column!important;margin:0!important;padding:0!important}
.zk-lb *{box-sizing:border-box}
.zk-lb-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:56px 64px 8px}
/* komputer: rzeczywisty rozmiar zdjęcia (bez powiększania), najwyżej do rozmiaru ekranu; zanim rozmiar jest znany – najwyżej pół ekranu */
.zk-lb .zk-lb-img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;min-width:0!important;object-fit:contain!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;float:none!important;transform:none!important}
.zk-lb-bar{flex:0 0 auto;padding:6px 12px calc(12px + env(safe-area-inset-bottom,0px));display:grid;gap:8px;justify-items:center}
.zk-lb-cap{color:#fff;font:15px/1.3 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;text-align:center;white-space:pre-wrap}
.zk-lb-thumbs{display:flex;gap:6px;max-width:100%;overflow-x:auto;padding:2px}
.zk-lb button{font:inherit;cursor:pointer}
.zk-lb .zk-lb-t{flex:0 0 auto;width:64px;height:48px;padding:0;border:2px solid transparent;border-radius:4px;background:#fff;overflow:hidden;opacity:.6;position:static}
.zk-lb .zk-lb-t.is-on{border-color:#fff;opacity:1}
.zk-lb .zk-lb-t img{display:block;width:100%;height:100%;object-fit:contain;max-width:none}
.zk-lb .zk-lb-x,.zk-lb .zk-lb-p,.zk-lb .zk-lb-n{position:absolute;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:32px;line-height:1;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;padding:0}
.zk-lb .zk-lb-x{top:max(10px,env(safe-area-inset-top));right:10px}
.zk-lb .zk-lb-p{left:8px;top:45%;transform:translateY(-50%)}
.zk-lb .zk-lb-n{right:8px;top:45%;transform:translateY(-50%)}
.zk-lb .zk-lb-x:hover,.zk-lb .zk-lb-p:hover,.zk-lb .zk-lb-n:hover{background:rgba(255,255,255,.3)}
@media (max-width:640px){.zk-lb-stage{padding:56px 0 4px}.zk-lb .zk-lb-p,.zk-lb .zk-lb-n{width:44px;height:44px;font-size:28px;background:rgba(0,0,0,.45)}.zk-lb .zk-lb-t{width:52px;height:40px}}
.zk-sticky{position:sticky;bottom:0;z-index:3;display:flex;gap:10px;align-items:stretch;padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 14px rgba(0,0,0,.08)}
.zk-sticky-sum{flex:1;min-width:0;display:grid;justify-items:start;text-align:left;background:none;border:0;padding:0;color:var(--ink)}
.zk-sticky-sum span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
.zk-sticky-sum b{font-size:22px;font-variant-numeric:tabular-nums;line-height:1.15}
.zk-sticky-sum small{font-size:12px;color:var(--mute)}
.zk-sticky-go{border:0;background:var(--acc);color:var(--acc-ink);font-weight:800;letter-spacing:.04em;border-radius:var(--r);padding:0 22px;font-size:16px}
@media (max-width:640px){
  .zk-opt.is-choice,.zk-opt.is-choice:has(> .zk-img){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:none}
  .zk-opt.is-choice > .zk-img{display:none}
  .zk-opt.is-choice .zk-body,.zk-opt.is-choice .zk-tick{grid-area:auto}
  .zk-vcard{grid-template-columns:128px minmax(0,1fr);gap:10px;padding:6px}
  .zk-vimg{width:128px;min-height:96px}
  .zk-vimg img{max-height:190px}
  .zk-vprice{font-size:16px}
  .zk-price{font-size:18px}
  .zk-sticky{padding-left:12px;padding-right:12px}
  .zk-head{padding:12px}
  .zk-group{padding-left:12px}
  .zk-foot{padding:14px 12px}
  .zk-actions .zk-btn{flex:1 1 auto}
  .zk-tr-form select,.zk-tr-form input{flex:1 1 120px}
}
.zk-sticky.is-away{visibility:hidden}

/* --- opcje z wariantami: zwinięte / rozwinięte --- */
.zk-opt.is-choice,.zk-opt.is-choice:has(> .zk-img){display:block;padding:0}
.zk-chead{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;text-align:left;background:none;border:0;padding:12px 18px;color:var(--ink);cursor:pointer}
.zk-opt.is-child .zk-chead{padding-left:42px}
.zk-cthumb{width:96px;height:72px;border-radius:4px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;overflow:hidden}
.zk-cthumb img{width:100%;height:100%;object-fit:contain;display:block}
.zk-cthumb.is-ph{background:var(--soft)}.zk-cthumb.is-ph img{width:100%;height:100%;object-fit:cover}
.zk-cbody{display:grid;gap:2px;min-width:0}
.zk-csel{font-size:14px;color:var(--acc);font-weight:600}
.zk-csel.is-none{color:var(--mute);font-weight:400}
.zk-cbody .zk-lead{justify-self:start}
.zk-cside{display:grid;justify-items:end;gap:4px}
.zk-cact{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--acc);border:1px solid var(--acc);border-radius:20px;padding:3px 10px;background:var(--card)}
.zk-chev2{width:8px;height:8px;border:solid var(--acc);border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.zk-opt.is-open .zk-chev2{transform:translateY(2px) rotate(-135deg)}
.zk-opt.is-open .zk-chead{border-bottom:1px dashed var(--line)}
.zk-opt.is-choice .zk-vlist{padding:10px 18px 14px}
.zk-opt.is-child.is-choice .zk-vlist{padding-left:42px}
.zk-vdesc{margin-bottom:2px}
.zk-vbody{background:none;border:0;text-align:left;color:var(--ink);width:100%;font:inherit}
.zk-vimg.is-none{display:grid;place-items:center;color:var(--mute);font-size:28px;min-height:60px}
@media (max-width:640px){
  .zk-chead{grid-template-columns:72px minmax(0,1fr);grid-template-areas:"t b" "t s";gap:6px 12px;padding:12px}
  .zk-cthumb{grid-area:t;width:72px;height:72px;align-self:start}
  .zk-cbody{grid-area:b}
  .zk-cside{grid-area:s;grid-auto-flow:column;justify-content:space-between;align-items:center;justify-items:stretch}
  .zk-opt.is-child .zk-chead{padding-left:20px}
  .zk-opt.is-choice .zk-vlist{padding:8px 10px 12px}
  .zk-opt.is-child.is-choice .zk-vlist{padding-left:20px}
}

.zk-lb .zk-lb-img.is-loading{max-width:50vw!important;max-height:50vh!important}
/* telefon: na cały ekran z zachowaniem proporcji */
@media (max-width:640px),(pointer:coarse) and (max-width:900px){
  .zk-lb .zk-lb-img,.zk-lb .zk-lb-img.is-loading{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}
}
