/* Kalkulačky — přehled (schválený maket 20. 10. 2026) a kalkulačka Stěhování do Česka (maket schválen 20. 10. 2026) */
.product-page:has(.kk),.product-page:has(#kalk){max-width:1060px}
.kk{max-width:1020px;margin:0 auto}
.kk-lead{max-width:720px;line-height:1.5;margin:0 0 14px}
.kk-sec{margin:0 0 20px}
.kk-sec h2{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:1.15rem;color:var(--green)}
.kk-ico{width:34px;height:34px;border:1.4px solid var(--sand);border-radius:50%;display:grid;place-items:center;color:var(--sand);font-size:.9rem;font-weight:600;font-style:normal;transition:transform .2s}
.kk-sec:hover .kk-ico{transform:scale(1.06)}
.kk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.kk-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;color:var(--ink);min-height:92px}
.kk-card b{display:block;color:var(--green);margin-bottom:4px}
.kk-card span{font-size:.88rem;line-height:1.4}
a.kk-card:hover{border-color:var(--orange);background:var(--mint-soft)}
.kk-soon{opacity:.62}
.kk-tag{display:inline-block;margin-top:6px;padding:2px 9px;border-radius:99px;background:var(--orange-soft);color:var(--green);font-size:.74rem;font-weight:600;font-style:normal}
.kk-flag{border-color:var(--orange)}
.kk-foot{margin:22px 0 10px;font-size:.88rem}
.kk-buy{margin:22px 0 10px}.kk-buy__h{font-size:.82rem;color:var(--muted);margin:0 0 8px}.kk-buy__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.kk-card{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}.kk-card b{color:var(--green);font-weight:600;font-size:.95rem;line-height:1.3}.kk-card p{margin:0;font-size:.84rem;color:var(--ink);line-height:1.45;flex:1}.kk-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}.kk-card__price{color:var(--sand);font-weight:400;font-size:.9rem}.kk-card__btn{display:inline-block;padding:7px 14px;border:1px solid var(--orange);border-radius:8px;background:#fffaf3;color:var(--ink);text-decoration:none;font-size:.85rem;transition:background .2s}.kk-card__btn:hover{background:#e9f1ea}

/* společné volby */
.st-chips{display:flex;flex-wrap:wrap;gap:6px}
.st-chip{padding:5px 12px;border:1.5px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);font:inherit;font-size:.86rem;cursor:pointer;text-decoration:none}
.st-chip.on{border-color:var(--orange);background:var(--orange-soft);color:var(--green);font-weight:600}
.st-chip:hover:not([disabled]){background:var(--mint-soft)}
.st-chip[disabled]{opacity:.45;cursor:not-allowed}
.st-chip:focus-visible,.st-btn:focus-visible,.st-step button:focus-visible{outline:2px solid var(--mint-dark);outline-offset:2px}

/* kalkulačka */
.st{max-width:1020px;margin:0 auto}
.st-scr{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column}
.st-prog{display:flex;gap:6px;margin:0 0 12px}
.st-prog i{flex:1;height:4px;border-radius:4px;background:var(--line)}
.st-prog i.on{background:var(--orange)}
.st-scr h2{margin:0 0 10px;font-size:1.1rem;color:var(--green)}
.st-scr h2:focus{outline:none}
.st-q{margin:12px 0 6px;font-size:.9rem;font-weight:600;color:var(--green)}
.st-hint{margin:6px 0 0;font-size:.8rem;color:var(--muted);line-height:1.45}
.st-list{margin:0;padding:0 0 0 18px;font-size:.86rem;line-height:1.55}
.st-list li::marker{color:var(--sand)}
.st-kids{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 14px}
.st-kid{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.86rem}
.st-step{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:99px;overflow:hidden}
.st-step b{min-width:28px;text-align:center;font-size:.9rem}
.st-step button{border:0;background:#fff;padding:4px 11px;cursor:pointer;color:var(--green);font:inherit}
.st-step button:hover{background:var(--mint-soft)}
.st-nav{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:16px}
.st-btn{padding:7px 18px;border:1.5px solid var(--orange);border-radius:99px;background:#fff;color:#1f1f1f;font:inherit;font-size:.88rem;cursor:pointer}
.st-btn:hover{background:var(--mint-soft)}
.st-btn.ghost{border-color:var(--line)}
.st-sum{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px;font-size:.82rem}
.st-sum span{padding:3px 10px;border-radius:99px;background:var(--mint-soft);color:var(--green)}
.st-tot{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 12px}
.st-tot div{border:1px solid var(--line);border-radius:12px;padding:8px 12px;text-align:center}
.st-tot small{display:block;font-size:.76rem;color:var(--muted)}
.st-tot b{font-size:1.15rem;color:var(--green);font-weight:600}
.st-tot div.typ{border-color:var(--orange)}
.st-twrap{overflow-x:auto}
table.st-t{width:100%;border-collapse:collapse;font-size:.84rem}
.st-t th,.st-t td{padding:5px 6px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top;white-space:nowrap}
.st-t th:first-child,.st-t td:first-child{text-align:left;white-space:normal}
.st-t thead th{font-size:.76rem;color:var(--muted);font-weight:600}
.st-t tr.grp td{background:var(--cream);font-weight:600;color:var(--green);text-align:left}
.st-t tr.sub td{font-weight:600;color:var(--green)}
.st-t tr.tot td{border-top:2px solid var(--sand)}
.st-t td small{display:block;font-size:.72rem;color:var(--muted);font-weight:400}
.st-t td.na{text-align:center;color:var(--muted);font-size:.78rem;white-space:normal}
.st-t a{color:var(--mint-dark)}
.st-legal{margin:12px 0 0;padding:8px 12px;border-left:3px solid var(--sand);background:var(--cream);font-size:.8rem;line-height:1.45}
/* kalkulačka Stěhování mezi městy — porovnání (maket 21. 10. 2026) */
.st-var{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;font-size:.84rem}
.st-tot div.dif b{color:var(--orange-dark)}
.st-t td.up{color:var(--orange-dark)}
.st-t td.down{color:var(--mint-dark)}
.st-t td.same{color:var(--muted)}
@media (max-width:760px){.st-tot{grid-template-columns:1fr}.st-t{font-size:.78rem}.st-scr{padding:14px}}
@media (max-width:560px){
  .st-t thead tr,.st-t tbody tr:not(.grp){display:grid;grid-template-columns:repeat(3,1fr)}
  .st-t thead th:first-child{display:none}
  .st-t tbody td:first-child{grid-column:1/-1;border-bottom:0;padding-bottom:0}
  .st-t td.na{grid-column:1/-1}
  .st-t tr.grp{display:block}.st-t tr.grp td{display:block}
  .st-tot{gap:6px}.st-tot div{padding:6px 10px}
}
@media print{
  .header,.footer,.mobile-bar,.topbar,.hero,.breadcrumbs,.st-nav,.st-sum button,.st-var,.kk-foot,.kk-buy{display:none!important}
  .st-scr{border:0;padding:0}
  .st-t td small a{color:inherit}
}

/* Kalkulačky s posuvníky: Jistota, Daň z prodeje bytu (schváleno 21. 10. 2026) */
.kc{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:14px;align-items:start;max-width:1020px;margin:0 auto}
.kc-out{position:sticky;top:84px}
.kc .st-scr h2{margin-bottom:6px}
.kc-r{margin:12px 0 0}
.kc-r .kc-lab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:.9rem;font-weight:600;color:var(--green)}
.kc-r .kc-lab label{flex:1}
.kc-num{width:8.5em;padding:3px 8px;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:.88rem;text-align:right;color:var(--green);font-weight:600;background:#fff}
.kc-num:focus{outline:2px solid var(--mint-dark);outline-offset:1px}
.kc-v{font-size:.88rem;color:var(--green);font-weight:600;white-space:nowrap}
.kc input[type=range]{width:100%;margin:6px 0 0;accent-color:var(--green);cursor:pointer}
.kc input[type=date]{padding:4px 8px;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:.88rem;color:var(--green);background:#fff}
.kc-chk{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;font-size:.88rem;cursor:pointer}
.kc-chk input{accent-color:var(--green);width:17px;height:17px;margin:1px 0 0;flex:none;cursor:pointer}
.kc-sub{margin:4px 0 0 4px;padding:0 0 2px 12px;border-left:2px solid var(--mint-line)}
.kc-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kc-dates label{display:flex;flex-direction:column;gap:4px;font-size:.84rem;font-weight:600;color:var(--green)}
.kc-res{margin:0;padding:0;list-style:none;font-size:.88rem}
.kc-res li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;border-bottom:1px solid var(--line)}
.kc-res li span{min-width:0}
.kc-res li span small{display:block;font-size:.74rem;color:var(--muted);font-weight:400}
.kc-res li b{color:var(--green);font-weight:600;white-space:nowrap}
.kc-res li.tot{border-top:2px solid var(--sand);border-bottom:0;font-weight:600;color:var(--green)}
.kc-res li.tot b{font-size:1.15rem}
.kc-badge{display:inline-block;margin:0 0 10px;padding:4px 12px;border-radius:99px;font-size:.84rem;font-weight:600}
.kc-ok{background:var(--mint-soft);color:var(--mint-dark)}
.kc-warn{background:var(--orange-soft);color:var(--green);border:1px solid var(--orange)}
.kc-msg{margin:10px 0 0;font-size:.84rem;line-height:1.45}
.kc-msg li{margin:0 0 4px}
.kc-why{max-width:1020px;margin:18px auto 0;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:14px}
.kc-why h2{margin:0 0 8px;font-size:1.05rem;color:var(--green)}
.kc-why ul{margin:0;padding:0 0 0 18px;font-size:.88rem;line-height:1.55}
.kc-why li::marker{color:var(--sand)}
.kc-why p{margin:8px 0 0;font-size:.86rem}
.kc .st-t td{white-space:normal}
.kc .st-t td:not(:first-child){white-space:nowrap}
@media (max-width:860px){.kc{grid-template-columns:minmax(0,1fr)}.kc-out{position:static}}
@media (max-width:420px){.kc-dates{grid-template-columns:1fr}.kc-num{width:7.2em}}
@media print{.kc{grid-template-columns:1fr}.kc-in,.kc-why{display:none!important}.kc-out{position:static}}
.kc .st-t td.w{text-align:right}
@media (max-width:560px){.kc .st-t td.w{grid-column:1/-1}}
/* vlna 1: Cena nájmu, Zvýšení nájemného, Náklady kupujícího, Nájem, nebo koupě? */
.kc-r .kc-lab .kc-l{flex:1}
.kc-res li.nc b{color:var(--muted);font-weight:400;font-size:.84rem}
.kc-tl{list-style:none;margin:12px 0 0;padding:0;font-size:.86rem}
.kc-tl li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;border-bottom:1px dashed var(--line)}
.kc-tl li b{color:var(--green);font-weight:600;white-space:nowrap}
.kc-date{font:inherit;font-size:.88rem;padding:4px 6px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff}
.kc-txt{margin:0 0 8px;font-size:.9rem;line-height:1.55}
/* vlna 2: Jídlo — nákupní seznam */
.kj-list{list-style:none;margin:8px 0 0;padding:0;font-size:.86rem}
.kj-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line)}
.kj-list small{display:block;font-size:.74rem;color:var(--muted)}
.kj-p{color:var(--sand);font-weight:400;white-space:nowrap;text-align:right}
.kj-step{display:inline-flex;align-items:center;gap:6px}
.kj-step button{width:28px;height:28px;border-radius:50%;border:1px solid var(--orange);background:#fff;color:var(--ink);cursor:pointer;font-size:1rem;line-height:1;padding:0}
.kj-step button:hover{background:var(--mint-soft)}
.kj-step b{min-width:1.6em;text-align:center;color:var(--green)}
.kc-h2b{max-width:1020px;margin:26px auto 8px;font-size:1.05rem;color:var(--green)}
/* vlna 4: OSVČ — dvě varianty vedle sebe */
.kc-cmp{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 4px}
.kc-cmp>div{border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0}
.kc-cmp h3{margin:0 0 4px;font-size:.9rem;color:var(--green)}
.kc-cmp .kc-res{font-size:.84rem}
@media (max-width:560px){.kc-cmp{grid-template-columns:1fr}}
/* Rekonstrukce po místnostech (23. 10. 2026) */
.kr-room{margin:12px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.kr-h{display:flex;gap:8px;align-items:center}
.kr-h .kr-s{flex:1;font-weight:600}
.kr-s{max-width:100%;padding:4px 8px;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:.86rem;color:var(--green);background:#fff}
.kr-s:focus,.kr-n:focus{outline:2px solid var(--mint-dark);outline-offset:1px}
.kr-x{border:0;background:none;color:var(--muted);font-size:1rem;cursor:pointer;padding:4px 6px;border-radius:6px}
.kr-x:hover{background:var(--mint-soft)}
.kr-dims{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:8px 0 0}
.kr-dims label{display:flex;flex-direction:column;gap:2px;font-size:.74rem;color:var(--muted)}
.kc .kr-dims .kr-n{width:100%;box-sizing:border-box;text-align:left}
.kr-calc{margin:6px 0 2px;font-size:.74rem;color:var(--muted)}
.kr-ln{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:6px 0 0;font-size:.85rem}
.kr-ln>b{width:88px;font-size:.78rem;font-weight:600;color:var(--green)}
.kr-c{display:inline-flex;gap:5px;align-items:center;cursor:pointer;font-size:.85rem}
.kr-c input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;margin:0}
.kc .kr-c .kr-n{padding:2px 6px}
.kr-add{margin:12px 0 0}
.kr-glob{display:flex;flex-wrap:wrap;gap:8px 16px;margin:16px 0 0;padding:12px 0 0;border-top:1px solid var(--line)}
.kr-glob>b{width:100%;font-size:.9rem;font-weight:600;color:var(--green)}
.kc-res li.kr-grp{border-bottom:0;padding:12px 0 2px;font-weight:600;color:var(--green)}
@media (max-width:520px){.kr-dims{grid-template-columns:repeat(3,minmax(0,1fr))}.kr-ln>b{width:100%}}
