/* Kontrola financí – /kontrola-financi (barvy z style.css) */
.kf-section { padding-top: 1.5rem; }
.kf-wrap { max-width: 620px; }

.kf-intro { margin-bottom: 1.1rem; }
.kf-kicker { font-size: .85rem; font-weight: 700; color: var(--blue-strong); margin-bottom: .5rem; }
.kf-intro .page-title { font-size: clamp(1.7rem, 4vw, 2.4rem); margin-bottom: .4rem; }
.kf-intro .page-lead { font-size: .95rem; line-height: 1.6; }
.kf-intro--small .page-lead, .kf-intro--small .kf-kicker { display: none; }
.kf-intro--small .page-title { font-size: 1.35rem; margin-bottom: 0; }

/* Bez JS: všechny otázky pod sebou */
.kf-step { border: 0; margin: 0 0 2.25rem; padding: 0; min-width: 0; }
.kf-q { font-size: 1.2rem; font-weight: 800; color: var(--navy); letter-spacing: -.02em; line-height: 1.3; padding: 0; }
.kf-q:focus { outline: none; }
.kf-num { color: var(--blue-strong); }
.kf-hint {
  margin: .6rem 0 1rem; padding: .7rem .9rem; border-left: 3px solid var(--blue-strong);
  background: var(--bg-alt); border-radius: 0 .75rem .75rem 0;
  font-size: .9rem; line-height: 1.55; color: #33493F;
}
.kf-hint--plain { border: 0; background: none; padding: 0; color: var(--text-muted); }

.kf-options { display: grid; gap: .6rem; }
.kf-opt {
  position: relative; display: flex; align-items: center; min-height: 52px; padding: .7rem 1.1rem;
  border: 1.5px solid var(--border-input); border-radius: .9rem; background: var(--bg);
  font-size: 1rem; font-weight: 600; color: var(--navy); cursor: pointer;
  transition: border-color .15s, background .15s, transform .1s;
}
.kf-opt:hover { border-color: var(--navy); background: var(--bg-alt); }
.kf-opt:active { transform: scale(.99); }
.kf-opt input { position: absolute; opacity: 0; pointer-events: none; }
.kf-opt:has(input:focus-visible) { outline: 2px solid var(--focus); outline-offset: 2px; }
.kf-opt:has(input:checked), .kf-opt.is-picked { border-color: var(--navy); background: var(--navy); color: #fff; }

.kf-contact .form-group { margin-bottom: 1rem; }
.kf-opt-label { font-weight: 400; color: var(--text-muted); }

/* S JS: jedna otázka na obrazovku */
.kf-stepper .kf-step { display: none; margin-bottom: 0; }
.kf-stepper .kf-step.is-active { display: block; animation: kf-in .25s ease-out; }
@keyframes kf-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.kf-progress { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.kf-back {
  width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; border: 1px solid var(--border);
  background: var(--bg); color: var(--navy); font-size: 1.1rem; cursor: pointer;
}
.kf-back:hover { background: var(--bg-alt); }
.kf-bar { flex: 1; height: 6px; border-radius: 3px; background: var(--bg-alt); overflow: hidden; }
.kf-bar span { display: block; height: 100%; width: 0; background: var(--blue-strong); border-radius: 3px; transition: width .3s; }
.kf-count { font-size: .85rem; font-weight: 600; color: var(--text-muted); white-space: nowrap; min-width: 4.5rem; text-align: right; }

/* Výsledek */
.kf-result { text-align: left; }
#vysledek:focus { outline: none; }
.kf-score {
  --deg: 0deg; width: 132px; height: 132px; border-radius: 50%; display: flex; align-items: baseline; justify-content: center;
  padding-top: 40px; margin-bottom: 1rem; position: relative;
  background: conic-gradient(var(--blue-strong) var(--deg), var(--bg-alt) 0);
}
.kf-score::before { content: ''; position: absolute; inset: 10px; border-radius: 50%; background: var(--bg); }
.kf-score-num, .kf-score-of { position: relative; }
.kf-score-num { font-size: 2.6rem; font-weight: 800; letter-spacing: -.04em; color: var(--navy); line-height: 1; }
.kf-score-of { font-size: .9rem; font-weight: 600; color: var(--text-muted); margin-left: .2rem; }
.kf-result-k { font-size: .85rem; font-weight: 700; color: var(--blue-strong); }
.kf-result-title { font-size: clamp(1.5rem, 4vw, 2rem); font-weight: 800; color: var(--navy); letter-spacing: -.03em; line-height: 1.2; margin: .25rem 0 1.75rem; }
.kf-h3 { font-size: 1.05rem; font-weight: 800; color: var(--navy); margin: 1.75rem 0 .75rem; }
.kf-gaps, .kf-unknowns { list-style: none; padding: 0; margin: 0; display: grid; gap: .65rem; }
.kf-gaps li { padding: 1rem 1.1rem; border-radius: .9rem; background: var(--bg-alt); border-left: 3px solid #C2410C; }
.kf-gaps strong { display: block; font-size: 1rem; color: var(--navy); margin-bottom: .25rem; }
.kf-gaps span { display: block; font-size: .92rem; line-height: 1.6; color: #33493F; }
.kf-unknowns li { position: relative; padding-left: 1.6rem; font-size: .95rem; line-height: 1.6; color: var(--navy); }
.kf-unknowns li::before { content: '?'; position: absolute; left: 0; top: .1rem; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: var(--navy); color: #fff; font-size: .72rem; font-weight: 800; display: grid; place-items: center; }
.kf-cta { margin-top: 2rem; padding: 1.5rem; border-radius: 1.25rem; background: var(--navy); color: #fff; }
.kf-cta p { font-size: .98rem; line-height: 1.65; color: rgba(255,255,255,.88); margin-bottom: 1.1rem; }
.kf-cta .btn-primary { background: #fff; color: var(--navy); border-color: #fff; box-shadow: none; }
.kf-cta .btn-primary:hover { background: var(--bg-alt); border-color: var(--bg-alt); }
.kf-cta .kf-cta-note { font-size: .82rem; color: rgba(255,255,255,.65); margin: .75rem 0 0; text-align: center; }

@media (prefers-reduced-motion: reduce) {
  .kf-stepper .kf-step.is-active { animation: none; }
  .kf-bar span, .kf-opt { transition: none; }
}
