/* Kalkulator zdolnosci pozyczkowej – style narzedzia (korzysta z tokenow kredeo2.css) */
.kz [hidden]{display:none!important}
.kz{display:grid;gap:28px;align-items:start}
.kz-form{display:grid;gap:22px}
.kz-form fieldset{border:1.5px solid var(--line);border-radius:var(--r);padding:18px 18px 8px;min-width:0}
.kz-form legend{font-weight:900;font-size:1.05rem;padding:0 8px}
.kz-field{margin-bottom:16px}
.kz-field > label,.kz-label{display:block;font-weight:800;font-size:.92rem;margin-bottom:6px}
.kz-hint{font-size:.82rem;line-height:1.45;margin-top:6px;opacity:.9}
.kz-err{display:block;font-size:.82rem;font-weight:800;line-height:1.4;margin-top:6px}
.kz-err::before{content:"\26A0\00a0"}
.kz-row{display:flex;gap:10px;align-items:center}
.kz-row .kz-num{flex:0 0 auto}

.kz-form input[type=number]{
  width:100%;max-width:200px;min-height:46px;padding:10px 12px;border:1.5px solid var(--navy);border-radius:12px;
  background:#fff;color:var(--navy);font:inherit;font-weight:700;font-size:1rem}
.kz-form input[type=number][readonly]{max-width:90px;text-align:center;background:#f3f6fb}
.kz-form input:focus-visible,.kz-form button:focus-visible,.kz-seg input:focus-visible + span{outline:3px solid var(--navy);outline-offset:2px}
.kz-form input[aria-invalid=true]{border-width:3px;border-style:dashed}

.kz-form input[type=range]{width:100%;height:34px;margin:6px 0 0;background:transparent;accent-color:var(--navy);cursor:pointer}
.kz-form input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:var(--navy-30)}
.kz-form input[type=range]::-moz-range-track{height:8px;border-radius:8px;background:var(--navy-30)}
.kz-form input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;margin-top:-9px;border-radius:50%;background:var(--navy);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--navy)}
.kz-form input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--navy);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--navy)}

.kz-step{flex:none;width:44px;height:44px;border:1.5px solid var(--navy);border-radius:12px;background:#fff;color:var(--navy);
  font:inherit;font-weight:900;font-size:1.3rem;line-height:1;cursor:pointer}
.kz-step:hover{background:var(--lblue)}
.kz-step:active{transform:translateY(1px)}

.kz-tryb{display:grid;gap:8px;margin-bottom:16px}
.kz-seg{position:relative;display:block}
.kz-seg input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
.kz-seg span{display:block;padding:12px 14px;border:1.5px solid var(--navy);border-radius:12px;background:#fff;color:var(--navy);font-weight:800;font-size:.92rem;text-align:center}
.kz-seg input:checked + span{background:var(--navy);color:#fff}

.kz-form .btn-gold{justify-self:start;min-height:48px;cursor:pointer;border:0;font-family:inherit}

.kz-wynik{background:var(--lblue);color:var(--navy);border-radius:var(--r-lg);border-left:6px solid transparent;padding:22px 20px;min-height:340px}
.kz-wynik.is-zapas{border-left-color:var(--teal)}
.kz-wynik.is-granica{border-left-color:var(--gold)}
.kz-wynik.is-przekracza,.kz-wynik.is-napiety{border-left-color:var(--navy)}
.kz-wynik *{color:var(--navy)}
.kz-pusty{font-weight:800;font-size:1rem;line-height:1.5}
.kz-blad{font-weight:800}
.kz-stan{display:flex;gap:12px;align-items:center;font-weight:900;font-size:1.5rem;line-height:1.25}
.kz-stan svg{flex:none;width:46px;height:46px}
.kz-rata{margin-top:16px;line-height:1.3}
.kz-kwota-do{margin-top:14px;line-height:1.3}
.kz-etykieta{font-size:.92rem;font-weight:700}
.kz-liczba{display:block;font-size:2.2rem;line-height:1.1;font-weight:900}
.kz-prog{margin-top:14px;padding:12px 14px;border:1.5px solid var(--navy);border-radius:12px;font-size:.88rem;line-height:1.55;background:rgba(255,255,255,.55)}
.kz-tips{list-style:none;margin:14px 0 0;display:grid;gap:10px;font-size:.9rem;line-height:1.5}
.kz-tips li{padding-left:16px;position:relative}
.kz-tips li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--navy)}
.kz-ustaw{display:inline-block;margin-top:4px;min-height:44px;padding:8px 16px;border:1.5px solid var(--navy);border-radius:999px;background:#fff;
  color:var(--navy);font:inherit;font-weight:800;font-size:.88rem;cursor:pointer}
.kz-ustaw:hover{background:var(--navy);color:#fff}
.kz-ustaw:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.kz-skladniki{margin-top:16px;border-top:1.5px solid var(--line);padding-top:12px}
.kz-skladniki summary{cursor:pointer;font-weight:800;font-size:.92rem;list-style:none}
.kz-skladniki summary::-webkit-details-marker{display:none}
.kz-skladniki summary::after{content:"+";float:right;font-weight:800}
.kz-skladniki[open] summary::after{content:"\2013"}
.kz-skladniki dl{display:grid;grid-template-columns:1fr auto;gap:6px 14px;margin-top:10px;font-size:.88rem}
.kz-skladniki dd{text-align:right;font-weight:800}
.kz-skladniki .kz-sum{border-top:1.5px solid var(--navy);padding-top:6px;font-weight:900}
.kz-przypis{margin-top:16px;font-size:.78rem;line-height:1.55}
.kz-cta{margin-top:16px}
.kz-cta .btn-gold--lg{width:100%}
.kz-pomoc{margin-top:14px;font-weight:700;line-height:1.55}
.kz-pomoc a{text-decoration:underline;text-underline-offset:2px;font-weight:800}
.kz-wsk{display:flex;gap:8px;align-items:center;font-size:.85rem;font-weight:800;margin-top:6px;color:var(--navy)}
.kz-wsk-kropka{flex:none;width:12px;height:12px;border-radius:50%;background:var(--navy)}
.kz-wsk[data-stan=zapas] .kz-wsk-kropka{background:var(--teal)}
.kz-wsk[data-stan=granica] .kz-wsk-kropka{background:var(--gold)}
.kz-wsk[data-stan=przekracza] .kz-wsk-kropka,.kz-wsk[data-stan=napiety] .kz-wsk-kropka{background:var(--navy)}
.kz-noscript{margin-top:14px;font-size:.9rem;line-height:1.55}

/* pasek mobilny: czysto informacyjny (bez klikniecia, bez fokusu) */
.kz-pasek[hidden],.kz-pasek [hidden]{display:none!important}
.kz-pasek{position:sticky;top:0;z-index:20;display:flex;gap:10px;align-items:center;margin:0 calc(-1 * var(--pad)) 14px;padding:10px var(--pad);
  background:var(--lblue);color:var(--navy);box-shadow:0 6px 18px rgba(35,57,134,.15);font-weight:800;font-size:.95rem;border-left:6px solid transparent}
.kz-pasek svg{flex:none;width:22px;height:22px}
.kz-pasek-rata{margin-left:auto;white-space:nowrap}
.kz-pasek-stan{min-width:0}
.kz-pasek.is-zapas{border-left-color:var(--teal)}
.kz-pasek.is-granica{border-left-color:var(--gold)}
.kz-pasek.is-przekracza,.kz-pasek.is-napiety{border-left-color:var(--navy)}

/* sygnal zmiany wyniku */
@keyframes kz-blysk{from{box-shadow:0 0 0 4px rgba(240,173,0,.6)}to{box-shadow:0 0 0 4px transparent}}
.kz-wynik.is-zmiana,.kz-pasek.is-zmiana{animation:kz-blysk .8s ease-out}

/* tabela statyczna */
.kz-tabela-wrap{overflow-x:auto;margin:6px 0 10px;-webkit-overflow-scrolling:touch}
#kz-tabela{border-collapse:collapse;width:100%;min-width:560px;font-size:.88rem;line-height:1.4}
#kz-tabela caption{text-align:left;font-weight:800;padding-bottom:8px}
#kz-tabela th,#kz-tabela td{padding:10px 12px;border-bottom:1.5px solid var(--line);text-align:right;white-space:nowrap}
#kz-tabela th:first-child,#kz-tabela td:first-child{text-align:left}
#kz-tabela thead th{font-weight:800;vertical-align:bottom;white-space:normal}
#kz-tabela tbody tr:nth-child(even){background:rgba(255,255,255,.45)}
.kz-tabela-podpis{font-size:.82rem;line-height:1.5}

@media (min-width:992px){
  .kz-pasek{display:none!important}
  .kz{grid-template-columns:1fr 440px;gap:40px}
  .kz-wynik{position:sticky;top:120px}
  .kz-tryb{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  .kz *,.kz-step,.kz-ustaw{transition:none!important;animation:none!important}
  .kz-wynik.is-zmiana,.kz-pasek.is-zmiana{animation:none!important}
}
