/* ===== Калькулятор отзывов: переиспользуемый компонент (зависит от токенов site.css) ===== */
.cstars{position:relative;display:inline-block;line-height:1;letter-spacing:2.5px;white-space:nowrap;font-size:18px}
.cstars::before{content:"★★★★★";color:#D9DEE8}
.cstars::after{content:"★★★★★";color:#F5A623;position:absolute;left:0;top:0;width:var(--w,0%);overflow:hidden;white-space:nowrap}

.kcf{max-width:480px;margin:0 auto;border-radius:20px;padding:24px;background:#fff;border:1px solid #e3e9f5;box-shadow:0 18px 46px rgba(42,91,215,.10)}
.kcf-head h3{font-size:20px;line-height:1.2;letter-spacing:-.01em;margin:0 0 4px;color:var(--ink)}
.kcf-head p{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.kcf-form{border-radius:14px;padding:16px;margin-top:16px;background:#f6f8fc;border:1px solid #eef2f9}
.kcf-sec{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:16px 0 11px;display:flex;align-items:center;gap:10px;color:var(--blue)}
.kcf-sec:first-child{margin-top:0}
.kcf-sec::after{content:"";flex:1;height:1px;background:currentColor;opacity:.16}
.kcf-now{display:grid;grid-template-columns:1.45fr 1fr;gap:16px;align-items:start}
.kcf-lab{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2);margin-bottom:8px}
.kcf-rate{display:flex;align-items:center;gap:9px;margin-bottom:2px;min-height:30px}
.kcf-rate .v{font-size:28px;font-weight:900;line-height:1;letter-spacing:-.01em;color:var(--ink)}
.kcf-field input[type=range]{display:block;width:100%;cursor:pointer;height:6px;margin-top:10px;accent-color:#2A5BD7}
.kc-num{font:inherit;font-size:24px;font-weight:800;border-radius:11px;padding:8px 13px;width:100%;box-sizing:border-box;background:#fff;border:1.5px solid var(--line);color:var(--ink)}
.kc-num:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(42,91,215,.13)}
.kcf-hint{display:block;font-size:11.5px;margin-top:6px;line-height:1.35;color:var(--muted)}
.kcf-res2{border-radius:11px;padding:8px 13px;min-height:46px;box-sizing:border-box;background:linear-gradient(135deg,#2A5BD7 0%,#7A3BFF 100%);color:#fff;box-shadow:0 8px 20px rgba(74,59,215,.22);display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.kcf-res2 b{font-size:28px;font-weight:900;line-height:1.05;letter-spacing:-.02em}
.kcf-res2 span{font-size:12px;font-weight:700;opacity:.92}
.kcf-msg{font-size:12px;line-height:1.4;color:var(--muted);margin-top:12px}
.kcf-msg:empty{display:none}
.kcf-rec{margin-top:4px;border-radius:12px;padding:14px 16px;background:var(--blue-soft);border:1px solid #dbe6fb;color:var(--ink-2);font-size:13.5px;line-height:1.55}
.kcf-rec[hidden]{display:none}
.kcf-rec b{color:var(--ink);font-weight:800}
.kcf-note{font-size:11.5px;line-height:1.45;text-align:center;margin:12px 6px 0;color:var(--muted)}
.kcf-cta{margin-top:18px}
.kcf-cta>p{margin:0 0 12px;font-size:13.5px;line-height:1.5;text-align:center;color:var(--ink-2)}
.kcf-cta>p b{color:var(--ink)}
.kcf-cta .msg-btns{justify-content:center;gap:6px;flex-wrap:nowrap}
.kcf-cta .msg-btn{flex:1 1 0;min-width:0;padding:12px 6px;gap:6px;font-size:13px;justify-content:center;white-space:nowrap;overflow:hidden}
.kcf-cta .msg-btn svg,.kcf-cta .msg-btn img{width:17px;height:17px;flex:0 0 auto}
.kcf-sent{margin-top:12px;font-size:12px;line-height:1.5;padding:10px 14px;border-radius:10px;text-align:center;background:var(--blue-soft);color:var(--ink-2)}
@media(max-width:540px){.kcf-rate .v,.kcf-res2 b,.kc-num{font-size:24px}}
