/* Токены берём из темы novashop, свой цвет один — жёлтый из логотипа, только для шкалы заряда */
.kit-calc,.kit-teaser{
  --kc-ink:var(--dark-color,#081B2E);
  --kc-navy:var(--primary-color,#34495E);
  --kc-sky:var(--light-color,#F1F8FF);
  --kc-line:#D9E3EE;
  --kc-muted:#5F6E7D;
  --kc-ok:var(--badge-new-color,#27AE60);
  --kc-volt:#FFD60A;
  --kc-r:var(--inputs-buttons-border-radius,4px);
}
.kit-calc{margin-top:8px;color:var(--kc-ink);scroll-margin-top:90px}
.kit-calc *,.kit-calc *::before,.kit-calc *::after{box-sizing:border-box}

.kit-calc__head{max-width:720px;margin-bottom:20px}
.kit-calc__title{margin:0 0 8px}
.kit-calc__lead{margin:0;font-size:15px;line-height:1.5;color:var(--kc-muted)}

.kit-calc__grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}

/* Шкала запаса хода — главный акцент блока */
.kit-range{padding:24px 28px 20px;border-radius:calc(var(--kc-r)*2);background:var(--kc-ink);color:#fff}
.kit-range__figure{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.kit-range__km{font-size:64px;line-height:1;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kit-range__unit{font-size:18px;color:rgba(255,255,255,.75)}
.kit-range__track{position:relative;margin:20px 0 34px;height:10px;border-radius:5px;background:rgba(255,255,255,.14)}
.kit-range__fill{position:absolute;inset:0 auto 0 0;width:40%;border-radius:5px;background:var(--kc-volt);transition:width .45s cubic-bezier(.2,.8,.2,1)}
/* До ползунка — сколько нужно (яркий), после — запас батареи (бледный) */
.kit-range__fill{background:linear-gradient(90deg,var(--kc-volt) var(--need,100%),rgba(255,214,10,.38) var(--need,100%))}
/* Отметка «докуда хватит АКБ» на шкале */
.kit-range__scale li.is-limit{color:var(--kc-volt);font-weight:700;visibility:visible}
/* Настоящий ползунок поверх шкалы: центр бегунка совпадает с процентами шкалы */
.kit-range{-webkit-user-select:none;user-select:none}
/* Мышь и палец ловит сама полоса (см. JS), input — только для клавиатуры и экранных дикторов */
.kit-range__track{cursor:grab;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.kit-range__track::before{content:"";position:absolute;inset:-17px -12px}
.kit-range.is-dragging .kit-range__track{cursor:grabbing}
.kit-range__input{position:absolute;left:-12px;top:50%;width:calc(100% + 24px);height:44px;margin:-22px 0 0;padding:0;background:transparent;-webkit-appearance:none;appearance:none;pointer-events:none}
.kit-range__input::-webkit-slider-runnable-track{height:44px;background:transparent}
.kit-range__input::-moz-range-track{height:44px;background:transparent}
.kit-range__input::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:10px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 4px var(--kc-ink),0 0 0 6px rgba(255,214,10,.35);transition:transform .15s}
.kit-range__input::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 4px var(--kc-ink),0 0 0 6px rgba(255,214,10,.35)}
.kit-range__track:hover .kit-range__input::-webkit-slider-thumb,.kit-range.is-dragging .kit-range__input::-webkit-slider-thumb{transform:scale(1.12)}
.kit-range__input:focus{outline:none}
.kit-range__input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--kc-ink),0 0 0 7px var(--kc-volt)}
.kit-range__input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--kc-ink),0 0 0 7px var(--kc-volt)}
.kit-range__scale{position:absolute;inset:22px 0 auto;list-style:none;margin:0;padding:0;font-size:12px;line-height:1;color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums}
.kit-range__scale li{position:absolute;top:0;margin:0;padding:0;transform:translateX(-50%);white-space:nowrap}
.kit-range__scale li::before{content:none}
.kit-range__scale li:first-child{transform:none}
.kit-range__scale li:last-child{transform:translateX(-100%)}
.kit-range__charge{margin:0;font-size:14px;color:rgba(255,255,255,.85)}
.kit-range[data-empty="true"] .kit-range__fill{width:0}
.kit-range[data-empty="true"] .kit-range__km{font-size:24px;line-height:1.3;font-weight:500;letter-spacing:0}

.kit-calc__group{margin:28px 0 0;padding:0;border:0;min-width:0}
.kit-calc__legend{padding:0;margin-bottom:12px;font-size:18px;font-weight:700}
.kit-calc__hint{margin:-6px 0 12px;font-size:14px;color:var(--kc-muted)}
.kit-calc__hint:empty{display:none}

/* Плитки аккумуляторов */
.kit-calc__batteries{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kit-bat{position:relative;display:block;cursor:pointer}
.kit-bat input,.kit-opt input,.kit-skip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.kit-bat__body{display:flex;flex-direction:column;height:100%;padding:16px 18px 18px;background:#fff;border:1px solid var(--kc-line);border-radius:calc(var(--kc-r)*2);transition:border-color .15s,box-shadow .15s}
.kit-bat:hover .kit-bat__body{border-color:#A9B8C7}
.kit-bat input:checked+.kit-bat__body{border-color:var(--kc-navy);box-shadow:inset 0 0 0 1px var(--kc-navy)}
.kit-bat input:focus-visible+.kit-bat__body,.kit-opt input:focus-visible+.kit-opt__body{outline:2px solid var(--kc-navy);outline-offset:3px}
.kit-bat__img{width:100%;height:96px;object-fit:contain;margin-bottom:12px}
.kit-bat__range{font-size:26px;font-weight:700;line-height:1.1}
.kit-bat__name{margin-top:6px;font-size:14px;line-height:1.35}
.kit-bat__specs{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:13px;color:var(--kc-muted)}
.kit-bat__price{margin-top:auto;padding-top:14px;font-size:18px;font-weight:700;white-space:nowrap}
.kit-bat__upsell{margin-top:8px;font-size:13px;color:var(--kc-muted)}
.kit-bat input:checked+.kit-bat__body .kit-bat__range::after{content:"";display:inline-block;width:18px;height:18px;margin-left:8px;vertical-align:2px;border-radius:50%;
  background:var(--kc-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center/14px no-repeat}

/* «Уже есть» — тихий вариант, не конкурирует с комплектом */
.kit-skip{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-size:14px;color:var(--kc-muted);cursor:pointer}
.kit-skip span::before{content:"";display:inline-block;width:16px;height:16px;margin-right:10px;vertical-align:-3px;border:1px solid #A9B8C7;border-radius:50%;background:#fff}
.kit-skip input:checked+span{color:var(--kc-ink)}
.kit-skip input:checked+span::before{border:5px solid var(--kc-navy)}
.kit-skip input:focus-visible+span{outline:2px solid var(--kc-navy);outline-offset:3px}

/* Строки зарядных устройств */
.kit-calc__chargers{display:grid;gap:8px}
.kit-opt{position:relative;display:block;cursor:pointer}
.kit-opt__body{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 16px 10px 10px;background:#fff;border:1px solid var(--kc-line);border-radius:calc(var(--kc-r)*2);transition:border-color .15s,box-shadow .15s}
.kit-opt:hover .kit-opt__body{border-color:#A9B8C7}
.kit-opt input:checked+.kit-opt__body{border-color:var(--kc-navy);box-shadow:inset 0 0 0 1px var(--kc-navy)}
.kit-opt__img{width:56px;height:56px;object-fit:contain}
.kit-opt__info{display:flex;flex-direction:column;gap:2px;min-width:0}
.kit-opt__name{font-size:15px;font-weight:700}
.kit-opt__meta{font-size:13px;color:var(--kc-muted);overflow-wrap:anywhere}
.kit-opt__tag{color:var(--kc-ok);font-weight:700}
.kit-opt__price{font-size:16px;font-weight:700;white-space:nowrap}
.kit-opt_none .kit-opt__body{grid-template-columns:minmax(0,1fr) auto;padding-left:16px}

/* Итог */
.kit-sum{position:sticky;top:96px;padding:22px;background:var(--kc-sky);border-radius:calc(var(--kc-r)*2)}
.kit-sum__title{margin-bottom:14px;font-size:18px;font-weight:700}
.kit-sum__lines{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px;line-height:1.35}
.kit-sum__lines li{display:flex;justify-content:space-between;gap:16px}
.kit-sum__lines b{white-space:nowrap;font-variant-numeric:tabular-nums}
.kit-sum__total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:16px 0;padding-top:16px;border-top:1px solid var(--kc-line)}
.kit-sum__total span{font-size:15px}
.kit-sum__total b{font-size:30px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.kit-sum__submit{width:100%}
.kit-calc [data-submit][disabled]{opacity:.6;cursor:progress}
.kit-sum__msg{font-size:14px;line-height:1.4}
.kit-sum__msg:not(:empty){margin-top:12px}
.kit-sum__msg_ok{color:var(--kc-ok)}
.kit-sum__msg_err{color:#C0392B}
.kit-sum__msg a{color:var(--kc-navy);font-weight:700;text-decoration:underline}
.kit-sum__note{margin:12px 0 0;font-size:12px;line-height:1.45;color:var(--kc-muted)}

/* Подсказка в блоке покупки (вставляется скриптом) */
.kit-teaser{margin:10px 0 14px;padding:10px 12px;border-left:3px solid var(--kc-volt);background:var(--kc-sky);font-size:13px;line-height:1.45;color:var(--kc-ink)}
.kit-teaser a{display:block;margin-top:2px;color:var(--kc-navy);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* Нижняя панель на телефоне */
.kit-bar{display:none}

@media (max-width:1024px){
  .kit-calc__grid{grid-template-columns:1fr;gap:24px}
  .kit-sum{position:static}
}
@media (max-width:640px){
  .kit-range{padding:18px 18px 16px}
  .kit-range__km{font-size:48px}
  .kit-range__unit{font-size:16px}
  .kit-range__scale li:nth-child(2),.kit-range__scale li:nth-child(4){visibility:hidden}
  .kit-calc__batteries{gap:8px}
  .kit-bat__body{padding:12px}
  .kit-bat__img{height:72px}
  .kit-bat__range{font-size:21px}
  .kit-bat__name{font-size:13px}
  .kit-bat__price{font-size:16px}
  .kit-bat__upsell{font-size:12px}
  .kit-opt__body{grid-template-columns:44px minmax(0,1fr);gap:4px 12px;padding:10px 12px 10px 8px}
  .kit-opt__img{width:44px;height:44px;grid-row:span 2}
  .kit-opt__price{font-size:15px}
  .kit-opt_none .kit-opt__body{grid-template-columns:minmax(0,1fr);padding-left:12px}

  .kit-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -1px 0 var(--kc-line),0 -6px 16px rgba(8,27,46,.08);
    transform:translateY(110%);transition:transform .25s}
  .kit-bar.is-visible{transform:none}
  .kit-bar__total{display:flex;flex-direction:column;line-height:1.2}
  .kit-bar__total span{font-size:12px;color:var(--kc-muted)}
  .kit-bar__total b{font-size:20px;white-space:nowrap}
  .kit-bar__submit{flex:none}
}
@media (max-width:359px){.kit-calc__batteries{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.kit-range__fill,.kit-bar,.kit-bat__body,.kit-opt__body{transition:none}}

/* ===== Компактный вариант: в средней колонке под характеристиками (≈534px) ===== */
.kit-calc_compact{padding-top:22px;border-top:1px solid var(--kc-line)}
.kit-calc_compact .kit-calc__title{margin:0 0 14px;font-size:20px;font-weight:700;line-height:1.25}
.kit-calc_compact .kit-range{padding:16px 20px 14px}
.kit-calc_compact .kit-range__km{font-size:44px}
.kit-calc_compact .kit-range__unit{font-size:15px}
.kit-calc_compact .kit-range__track{margin:16px 0 30px}
.kit-calc_compact .kit-range__charge{font-size:13px}
.kit-calc_compact .kit-calc__group{margin-top:18px}
.kit-calc_compact .kit-calc__legend{margin-bottom:8px;font-size:15px}

.kit-calc_compact .kit-calc__batteries{gap:8px}
.kit-calc_compact .kit-bat__body{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-areas:"img range" "img name" "img price";column-gap:12px;padding:10px 12px}
.kit-calc_compact .kit-bat__img{grid-area:img;width:52px;height:52px;margin:0;align-self:center}
.kit-calc_compact .kit-bat__range{grid-area:range;font-size:18px}
.kit-calc_compact .kit-bat__name{grid-area:name;margin-top:2px;font-size:12px;color:var(--kc-muted)}
.kit-calc_compact .kit-bat__price{grid-area:price;margin:4px 0 0;padding:0;font-size:15px}
.kit-calc_compact .kit-bat input:checked+.kit-bat__body .kit-bat__range::after{width:16px;height:16px;margin-left:6px;background-size:12px}
.kit-calc_compact .kit-skip{margin-top:10px;font-size:13px}

.kit-calc_compact .kit-calc__chargers{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}
.kit-calc_compact .kit-opt__body{display:flex;flex-direction:column;align-items:flex-start;gap:1px;height:100%;min-width:0;padding:8px 12px}
.kit-calc_compact .kit-opt__name{font-size:15px}
.kit-calc_compact .kit-opt__tag{margin-left:4px;font-size:12px;font-weight:700}
.kit-calc_compact .kit-opt__meta{font-size:12px}
.kit-calc_compact .kit-opt__price{margin-top:4px;font-size:14px}

.kit-calc_compact .kit-sum{position:static;margin-top:18px;padding:14px 16px 16px}
.kit-calc_compact .kit-sum__total{margin:0 0 12px;padding:0;border:0;align-items:center}
.kit-calc_compact .kit-sum__total span{font-size:13px;line-height:1.35;color:var(--kc-muted)}
.kit-calc_compact .kit-sum__total b{font-size:26px}

@media (max-width:640px){
  .kit-calc_compact .kit-range__km{font-size:40px}
  .kit-calc_compact .kit-bat__body{grid-template-columns:40px minmax(0,1fr);column-gap:8px;padding:10px}
  .kit-calc_compact .kit-bat__img{width:40px;height:40px}
  .kit-calc_compact .kit-bat__range{font-size:16px}
  .kit-calc_compact .kit-calc__chargers{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}
  .kit-calc_compact .kit-opt__body{padding:8px 10px}
  .kit-calc_compact .kit-opt__tag{display:block;margin:0}
}
