.calc-hero{padding:46px 0 10px;text-align:center}
.calc-hero .kicker{justify-content:center}
.calc-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start;padding-bottom:40px}
.calc-form{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:16px}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}
.calc-field{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:600}
.calc-field.full{grid-column:1/-1}
.calc-field[hidden]{display:none}
.calc-field select,.calc-field input{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:13px 14px;color:var(--text);font-size:15.5px;font-family:var(--body);transition:border-color .2s,box-shadow .2s}
.calc-field select{cursor:pointer}
.calc-field select:hover,.calc-field input:hover{border-color:#2c2c2c}
.calc-field select:focus,.calc-field input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(138,255,0,.15)}
.calc-hint{margin-top:6px;font-size:11.5px;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400;line-height:1.4}

/* Сегментований перемикач (аукціон) */
.seg{display:flex;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:4px}
.seg-btn{flex:1;padding:11px 8px;border:0;background:transparent;color:var(--muted);font:600 14px var(--body);
  border-radius:8px;cursor:pointer;transition:background .2s,color .2s;text-transform:none;letter-spacing:0}
.seg-btn:hover{color:var(--text)}
.seg-btn.active{background:var(--accent);color:#0a0a0a;box-shadow:0 0 14px rgba(138,255,0,.3)}

/* Поля з юнітами ($, л, кВт·год) */
.field-adorn{position:relative;display:flex;align-items:center}
.field-adorn input{width:100%}
.adorn-prefix,.adorn-suffix{position:absolute;color:var(--muted);font-size:15px;font-weight:600;pointer-events:none}
.adorn-prefix{left:14px}.adorn-suffix{right:14px}
.field-adorn.pre input{padding-left:30px}
.field-adorn.suf input{padding-right:42px}
.field-adorn.suf.wide input{padding-right:78px}

/* Автокомпліт міст */
.ac-box{position:relative;width:100%}
.ac-box input{width:100%;padding-left:38px}
.ac-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--muted);pointer-events:none;z-index:1}
.ac-box input:focus + .ac-list,.ac-box input.error{}
.ac-box input.error{border-color:#ff5a5a;box-shadow:0 0 0 3px rgba(255,90,90,.15)}
.ac-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;margin:0;padding:6px;list-style:none;
  max-height:280px;overflow-y:auto;background:var(--bg);border:1px solid var(--accent);border-radius:12px;
  box-shadow:0 18px 40px rgba(0,0,0,.6)}
.ac-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;
  font-size:14.5px;color:var(--text);text-transform:none;letter-spacing:0;font-weight:500;cursor:pointer;transition:background .15s,color .15s}
.ac-list li:hover{background:rgba(138,255,0,.12);color:var(--accent)}
.ac-price{font-size:12.5px;color:var(--muted);font-weight:600;white-space:nowrap}
.ac-list li:hover .ac-price{color:var(--accent)}

/* Панель результату */
.calc-result{position:sticky;top:90px;background:linear-gradient(180deg,var(--surface-2),#101010);
  border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:6px}
.calc-total{display:flex;flex-direction:column;gap:3px;padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.calc-total .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px}
.calc-total .sum{font-family:var(--font);font-size:clamp(34px,5vw,48px);color:var(--accent);line-height:1;
  text-shadow:0 0 22px rgba(138,255,0,.35);display:inline-block;transform-origin:left center}
.calc-total .sum.bump{animation:sumPop .3s ease}
@keyframes sumPop{0%{transform:scale(.94);opacity:.55}100%{transform:scale(1);opacity:1}}
.calc-total-sub{color:var(--muted);font-size:11.5px;text-transform:none;letter-spacing:.2px;margin-top:4px;font-weight:400}

/* Порожній стан */
.calc-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:34px 12px 26px;color:var(--muted)}
.calc-empty svg{width:50px;height:50px;color:var(--accent);opacity:.5}
.calc-empty p{font-size:13.5px;line-height:1.55;max-width:280px;text-transform:none;letter-spacing:0;font-weight:400}
.calc-empty b{color:var(--text);font-weight:600}
.calc-empty[hidden],.calc-breakdown[hidden]{display:none}

/* Групи рядків */
.calc-group{font-size:10.5px;text-transform:uppercase;letter-spacing:1.8px;color:var(--accent);font-weight:700;
  margin:18px 0 4px;display:flex;align-items:center;gap:10px}
.calc-group::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(138,255,0,.32),transparent)}
.calc-group:first-child{margin-top:2px}

/* Рядки */
.calc-line{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:8px 8px;
  border-radius:8px;transition:background .15s}
.calc-line[hidden]{display:none}
.calc-line:hover{background:rgba(255,255,255,.03)}
.calc-line span:first-child{color:#cfcfcf}
.calc-line span:last-child{color:#fff;font-weight:600;white-space:nowrap}
.calc-line.tax{background:rgba(138,255,0,.04)}
.calc-line.tax span:first-child{color:var(--accent)}
/* Опційна комісія за переказ (чекбокс) */
.calc-opt{cursor:pointer;user-select:none;align-items:center}
.calc-opt .co-l{display:inline-flex;align-items:center;gap:9px;color:#cfcfcf}
.calc-opt input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0}
.calc-opt #r_commission_transfer{color:var(--muted)}
.calc-opt.on{background:rgba(138,255,0,.07)}
.calc-opt.on .co-l{color:#fff}
.calc-opt.on #r_commission_transfer{color:var(--accent)}
.calc-note{color:var(--muted);font-size:12px;line-height:1.5;margin-top:12px}
.calc-result .btn{margin-top:14px}
/* Інфо-блок під калькулятором */
.calc-disclaimer{margin-top:22px;padding:18px 22px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:14px;background:rgba(255,255,255,.02)}
.calc-disclaimer p{color:var(--muted);font-size:13.5px;line-height:1.65;margin:0}
.calc-disclaimer p + p{margin-top:11px}
.calc-disclaimer b{color:#e9e9e9;font-weight:600}
.calc-disclaimer .cd-star{font-size:12.5px}
.calc-disclaimer .cd-mark{color:var(--accent);font-weight:700;margin-right:2px}
@media(max-width:640px){.calc-disclaimer{padding:15px 16px}}

/* Картка розрахунку в попапі заявки */
.calc-lead-summary{margin:4px 0 6px;padding:14px 16px;border:1px solid rgba(138,255,0,.35);border-radius:12px;
  background:rgba(138,255,0,.06)}
.calc-lead-summary[hidden]{display:none}
.calc-lead-summary .cls-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid rgba(138,255,0,.18)}
.calc-lead-summary .cls-total span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.6px}
.calc-lead-summary .cls-total strong{font-family:var(--font);font-size:24px;color:var(--accent);
  text-shadow:0 0 18px rgba(138,255,0,.3);white-space:nowrap}
.calc-lead-summary .cls-rows{display:flex;flex-direction:column;gap:3px}
.calc-lead-summary .cls-rows span{color:#cfcfcf;font-size:13px;line-height:1.4}

@media(max-width:900px){
  .calc-wrap{grid-template-columns:1fr;gap:20px}
  .calc-result{position:static}
}
@media(max-width:520px){.calc-grid{grid-template-columns:1fr}}
