.kadi-rk {
  --kadi-border:#e5e7eb;
  --kadi-text:#172033;
  --kadi-muted:#667085;
  --kadi-blue:#1289d8;
  --kadi-blue-dark:#0877c0;
  max-width: 980px;
  margin: 32px auto;
  color: var(--kadi-text);
  font-family: inherit;
}
.kadi-rk *, .kadi-rk *::before, .kadi-rk *::after { box-sizing:border-box; }
.kadi-rk-hero { margin-bottom:24px; }
.kadi-rk-eyebrow,.kadi-rk-section-label { display:block; font-size:12px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; color:var(--kadi-blue); }
.kadi-rk-hero h2,.kadi-rk h3 { margin:.3em 0 .4em; line-height:1.15; }
.kadi-rk-hero h2 { font-size:clamp(28px,4vw,44px); }
.kadi-rk-hero p { margin:0; max-width:760px; color:var(--kadi-muted); font-size:17px; }

/* Tume eelarvekalkulaatori osa */
.kadi-rk-budget-card {
  background:#171b23;
  color:#fff;
  border-radius:18px;
  padding:28px;
  box-shadow:0 14px 36px rgba(0,0,0,.16);
  margin:26px 0 34px;
}
.kadi-rk-budget-card .kadi-rk-section-label { color:#72c7ff; }
.kadi-rk-budget-card h3 { color:#fff; font-size:clamp(21px,3vw,29px); }
.kadi-rk-budget-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.kadi-rk-budget-value { min-width:180px; text-align:right; }
.kadi-rk-budget-value strong { display:block; font-size:clamp(34px,5vw,54px); line-height:1; color:#fff; }
.kadi-rk-budget-value span { display:block; margin-top:7px; color:#aab4c3; font-size:14px; }
.kadi-rk-slider-wrap { margin-top:34px; }
.kadi-rk-slider {
  --progress:0%;
  width:100%; height:10px; margin:0; appearance:none; -webkit-appearance:none; border-radius:999px; outline:none;
  background:linear-gradient(to right,#54b9f5 0%,#54b9f5 var(--progress),#3b424e var(--progress),#3b424e 100%);
}
.kadi-rk-slider::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:28px; height:28px; border-radius:50%; background:#fff; border:5px solid #1289d8; box-shadow:0 2px 10px rgba(0,0,0,.35); cursor:pointer; }
.kadi-rk-slider::-moz-range-thumb { width:20px; height:20px; border-radius:50%; background:#fff; border:5px solid #1289d8; box-shadow:0 2px 10px rgba(0,0,0,.35); cursor:pointer; }
.kadi-rk-slider-scale { display:flex; justify-content:space-between; margin-top:12px; color:#aab4c3; font-size:13px; font-weight:700; }
.kadi-rk-budget-hint { margin-top:20px; padding-top:18px; border-top:1px solid #333a46; color:#c9d0da; font-size:14px; }

.kadi-rk-products { margin-top:18px; }
.kadi-rk-products-head { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:18px; }
.kadi-rk-products-head h3 { font-size:26px; }
.kadi-rk-selected-count { font-size:13px; font-weight:700; color:var(--kadi-muted); }
.kadi-rk-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.kadi-rk-product { border:1px solid var(--kadi-border); border-radius:14px; padding:18px; background:#fff; transition:.18s ease; }
.kadi-rk-product[hidden] { display:none !important; }
.kadi-rk-product.is-selected { border-color:var(--kadi-blue); box-shadow:0 0 0 2px rgba(18,137,216,.12); }
.kadi-rk-product-top { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:14px; }
.kadi-rk-product-badge { font-size:11px; letter-spacing:.04em; font-weight:800; color:var(--kadi-blue-dark); background:#edf8ff; border-radius:999px; padding:6px 9px; }
.kadi-rk-info-btn { border:1px solid #d7dce3; background:#fff; width:29px; height:29px; border-radius:50%; cursor:pointer; font-weight:800; color:#4c5564; }
.kadi-rk-info-btn:hover { border-color:var(--kadi-blue); color:var(--kadi-blue); }
.kadi-rk-product-choice { display:flex; align-items:center; gap:12px; margin:0; cursor:pointer; font-weight:700; line-height:1.35; }
.kadi-rk-product-check { position:absolute; opacity:0; pointer-events:none; }
.kadi-rk-checkmark { width:24px; height:24px; flex:0 0 24px; border:2px solid #c9d0da; border-radius:6px; position:relative; background:#fff; }
.kadi-rk-product-check:checked + .kadi-rk-checkmark { background:var(--kadi-blue); border-color:var(--kadi-blue); }
.kadi-rk-product-check:checked + .kadi-rk-checkmark::after { content:""; position:absolute; left:7px; top:3px; width:6px; height:11px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.kadi-rk-next-threshold { min-height:22px; margin-top:14px; color:var(--kadi-muted); font-size:14px; }

.kadi-rk-form-wrap { margin-top:30px; padding:26px; border:1px solid var(--kadi-border); border-radius:16px; background:#f8fafc; }
.kadi-rk-form-wrap[hidden] { display:none !important; }
.kadi-rk-form-heading p { color:var(--kadi-muted); }
.kadi-rk-selection-summary { display:grid; grid-template-columns:1fr 2fr; gap:10px; margin:20px 0; }
.kadi-rk-selection-summary > div { background:#fff; border:1px solid var(--kadi-border); border-radius:10px; padding:14px; }
.kadi-rk-selection-summary span { display:block; color:var(--kadi-muted); font-size:12px; text-transform:uppercase; font-weight:800; margin-bottom:5px; }
.kadi-rk-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.kadi-rk-form label { display:block; font-weight:700; font-size:14px; margin-bottom:14px; }
.kadi-rk-form input[type=text], .kadi-rk-form input[type=email], .kadi-rk-form textarea { width:100%; margin-top:7px; border:1px solid #cfd6df; border-radius:9px; padding:12px 13px; background:#fff; font:inherit; color:var(--kadi-text); }
.kadi-rk-form input:focus,.kadi-rk-form textarea:focus { outline:2px solid rgba(18,137,216,.18); border-color:var(--kadi-blue); }
.kadi-rk-consent { display:flex !important; gap:9px; align-items:flex-start; font-weight:400 !important; }
.kadi-rk-consent input { margin-top:3px; }
.kadi-rk-submit,.kadi-rk-modal-ok { border:0; background:var(--kadi-blue); color:#fff; border-radius:9px; padding:13px 20px; font-weight:800; cursor:pointer; }
.kadi-rk-submit:hover,.kadi-rk-modal-ok:hover { background:var(--kadi-blue-dark); }
.kadi-rk-submit:disabled { opacity:.6; cursor:wait; }
.kadi-rk-status { margin-top:12px; font-size:14px; font-weight:700; }
.kadi-rk-status.is-error { color:#b42318; }
.kadi-rk-status.is-success { color:#18794e; }
.kadi-rk-hp { position:absolute !important; left:-9999px !important; opacity:0 !important; }

.kadi-rk-modal[hidden] { display:none !important; }
.kadi-rk-modal { position:fixed; inset:0; z-index:999999; display:grid; place-items:center; padding:20px; }
.kadi-rk-modal-backdrop { position:absolute; inset:0; background:rgba(14,18,25,.72); }
.kadi-rk-modal-dialog { position:relative; z-index:1; width:min(560px,100%); max-height:min(80vh,700px); overflow:auto; background:#fff; border-radius:16px; padding:28px; box-shadow:0 24px 70px rgba(0,0,0,.28); }
.kadi-rk-modal-dialog h3 { font-size:25px; margin-right:35px; }
.kadi-rk-modal-dialog p { color:#4f5a68; line-height:1.65; white-space:pre-line; }
.kadi-rk-modal-close { position:absolute; right:14px; top:12px; width:38px; height:38px; border:0; background:#eef1f5; border-radius:50%; font-size:24px; line-height:1; cursor:pointer; }

@media (max-width:700px){
  .kadi-rk { margin:20px auto; }
  .kadi-rk-budget-card { padding:22px 18px; border-radius:14px; }
  .kadi-rk-budget-head { display:block; }
  .kadi-rk-budget-value { text-align:left; margin-top:18px; }
  .kadi-rk-product-grid,.kadi-rk-form-grid,.kadi-rk-selection-summary { grid-template-columns:1fr; }
  .kadi-rk-products-head { align-items:flex-start; flex-direction:column; }
}
