/* ============================================================
   ЛИЗИНГ (главная)
   Цифры → карта России с городами → калькулятор и форма → партнёры
   ============================================================ */

/* ---------- цифры ---------- */
.lz-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin:0 0 20px;
  padding:0;
  list-style:none;
}
.lz-stat{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:22px 24px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
}
.lz-stat__num{
  font-family:var(--font-heading);
  font-weight:800;
  font-size:clamp(28px,3vw,38px);
  line-height:1;
  letter-spacing:-.02em;
  color:var(--ink-900);
}
.lz-stat__cap{
  font-size:13px;
  line-height:1.4;
  color:var(--ink-400);
}

/* ---------- карта + карточка города ---------- */
.lz-geo{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:20px;
  align-items:stretch;
}
.lz-geo__map{
  position:relative;
  padding:20px 20px 0;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
}
.lz-map__img{
  display:block;
  width:100%;
  height:auto;
}
/* слой точек повторяет рамку картинки: те же отступы, тот же аспект */
.lz-pins{
  position:absolute;
  left:20px;
  right:20px;
  top:20px;
  aspect-ratio:1281/721;
  pointer-events:none;
}
.lz-pin{
  position:absolute;
  left:var(--x);
  top:var(--y);
  transform:translate(-50%,-50%);
  width:28px;
  height:28px;
  padding:0;
  border:0;
  background:none;
  display:grid;
  place-items:center;
  cursor:pointer;
  pointer-events:auto;
  z-index:1;
}
.lz-pin__dot{
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--red-600);
  box-shadow:0 0 0 3px rgba(255,255,255,.95),0 2px 6px rgba(23,25,28,.22);
  transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease;
}
.lz-pin:hover{z-index:4}
.lz-pin:hover .lz-pin__dot,
.lz-pin:focus-visible .lz-pin__dot{transform:scale(1.45)}
.lz-pin.is-active{z-index:5}
.lz-pin.is-active .lz-pin__dot{
  background:var(--ink-900);
  box-shadow:0 0 0 3px #fff,0 0 0 7px rgba(23,25,28,.14),0 2px 8px rgba(23,25,28,.3);
  transform:scale(1.25);
}
.lz-pin:focus{outline:none}
.lz-pin:focus-visible .lz-pin__dot{outline:2px solid var(--ink-900);outline-offset:4px}

.lz-pin__tip{
  position:absolute;
  bottom:calc(100% + 4px);
  left:50%;
  padding:5px 9px;
  border-radius:6px;
  background:var(--ink-900);
  color:#fff;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
  opacity:0;
  transform:translate(-50%,4px);
  transition:opacity .14s ease,transform .14s ease;
  pointer-events:none;
}
.lz-pin:hover .lz-pin__tip,
.lz-pin:focus-visible .lz-pin__tip,
.lz-pin.is-active .lz-pin__tip{
  opacity:1;
  transform:translate(-50%,0);
}
.lz-geo__hint{
  margin:6px 0 0;
  padding:0 0 16px;
  font-size:12px;
  line-height:1.4;
  color:var(--ink-300);
  text-align:center;
}

.lz-chips{display:none}

.lz-card{
  display:flex;
  flex-direction:column;
  padding:26px 26px 24px;
  background:var(--ink-900);
  border-radius:var(--radius-md);
  color:#fff;
}
.lz-card__kicker{
  margin:0;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.lz-card__city{
  margin:10px 0 0;
  font-family:var(--font-heading);
  font-size:clamp(24px,2.4vw,30px);
  font-weight:700;
  line-height:1.05;
  letter-spacing:-.01em;
}
.lz-card__region{
  margin:8px 0 0;
  font-size:13.5px;
  line-height:1.4;
  color:rgba(255,255,255,.6);
}
.lz-card__list{
  margin:20px 0 0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:9px;
  font-size:13.5px;
  line-height:1.35;
  color:rgba(255,255,255,.82);
}
.lz-card__list li{
  position:relative;
  padding-left:19px;
}
.lz-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--red-600);
}
.lz-card__addr{
  margin:16px 0 0;
  font-size:12.5px;
  line-height:1.45;
  color:rgba(255,255,255,.55);
}
.lz-card__side{margin-top:auto}
.lz-card__foot{
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
}
.lz-card__hours{
  margin:0;
  font-size:11.5px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,.42);
}
.lz-card__phone{
  display:inline-block;
  margin-top:8px;
  font-family:var(--font-heading);
  font-size:21px;
  font-weight:700;
  letter-spacing:-.01em;
  color:#fff;
}
.lz-card__phone:hover{color:rgba(255,255,255,.75)}
.lz-card__note{
  margin:6px 0 18px;
  font-size:12px;
  line-height:1.4;
  color:rgba(255,255,255,.45);
}

/* ---------- калькулятор и форма ---------- */
.lz-calc{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  margin-top:20px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.lz-calc__params{padding:32px 36px 34px}
.lz-calc__title{
  margin:0;
  font-family:var(--font-heading);
  font-size:24px;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.01em;
}
.lz-calc__sub{
  margin:8px 0 0;
  font-size:13.5px;
  line-height:1.45;
  color:var(--ink-400);
}

.lz-range{margin-top:20px}
.lz-range__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px;
}
.lz-range__label{font-size:13px;color:var(--ink-400)}
.lz-range__value{
  font-family:var(--font-heading);
  font-size:15px;
  font-weight:700;
  color:var(--ink-900);
  white-space:nowrap;
}
.lz-range__scale{
  display:flex;
  justify-content:space-between;
  margin-top:6px;
  font-size:11.5px;
  color:var(--ink-300);
}
.lz-range input[type="range"]{
  -webkit-appearance:none;
  appearance:none;
  display:block;
  width:100%;
  height:4px;
  border-radius:2px;
  background:var(--line);
  cursor:pointer;
}
.lz-range input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--red-600);
  border:3px solid #fff;
  box-shadow:0 1px 5px rgba(23,25,28,.28);
  cursor:grab;
}
.lz-range input[type="range"]::-moz-range-thumb{
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--red-600);
  border:3px solid #fff;
  box-shadow:0 1px 5px rgba(23,25,28,.28);
  cursor:grab;
}
.lz-range input[type="range"]:focus-visible{outline:none}
.lz-range input[type="range"]:focus-visible::-webkit-slider-thumb{
  box-shadow:0 0 0 4px rgba(227,24,32,.22);
}

.lz-result{
  margin-top:26px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.lz-result__cap{
  margin:0;
  font-size:12px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-400);
}
.lz-result__sum{
  margin:6px 0 0;
  font-family:var(--font-heading);
  font-size:clamp(32px,4vw,44px);
  font-weight:800;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--ink-900);
}
.lz-result__cur{font-size:.55em;font-weight:700;color:var(--ink-400)}
.lz-result__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:20px;
}
.lz-result__label{
  display:block;
  font-size:11.5px;
  line-height:1.3;
  color:var(--ink-400);
}
.lz-result__cell b{
  display:block;
  margin-top:4px;
  font-size:14.5px;
  font-weight:600;
  color:var(--ink-900);
}

.lz-form{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:32px 34px;
  background:var(--paper);
  border-left:1px solid var(--line);
}
.lz-form__title{
  margin:0;
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.01em;
}
.lz-form__sub{
  margin:-6px 0 4px;
  font-size:13px;
  line-height:1.45;
  color:var(--ink-400);
}
.lz-form .field__input{
  padding:13px 15px;
  font-size:15px;
}
.lz-form .btn{margin-top:2px}
.lz-form .field__note{margin-top:0}

/* ---------- партнёры ---------- */
.lz-partners{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:10px 22px;
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.lz-partners__label{
  margin:0;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-300);
}
.lz-partners__list{
  display:flex;
  flex-wrap:wrap;
  gap:8px 22px;
  margin:0;
  padding:0;
  list-style:none;
  font-size:13.5px;
  color:var(--ink-600);
}

/* ============================================================
   адаптив
   ============================================================ */
@media (max-width:1100px){
  .lz-geo{grid-template-columns:minmax(0,1fr)}
  .lz-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:28px;
    align-items:start;
    padding:24px;
  }
  .lz-card__side{margin-top:0}
  .lz-card__foot{padding-top:0;border-top:0}
  .lz-card__phone{margin-top:8px}
  .lz-calc{grid-template-columns:minmax(0,1fr)}
  .lz-form{border-left:0;border-top:1px solid var(--line)}
}

@media (max-width:820px){
  .lz-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .lz-calc__params{padding:26px 22px 28px}
  .lz-form{padding:26px 22px}
  .lz-result__grid{grid-template-columns:1fr 1fr;gap:14px}
}

@media (max-width:640px){
  .lz-geo__map{padding:12px 12px 0}
  .lz-pins{left:12px;right:12px;top:12px}
  .lz-pin{width:24px;height:24px}
  .lz-pin__tip{display:none}
  .lz-card{grid-template-columns:minmax(0,1fr);gap:18px;padding:22px 20px}
  .lz-card__foot{border-top:1px solid rgba(255,255,255,.12);padding-top:16px}
  .lz-pin__dot{width:10px;height:10px;box-shadow:0 0 0 2px rgba(255,255,255,.95),0 1px 4px rgba(23,25,28,.25)}
  .lz-geo__hint{padding-bottom:12px;font-size:11.5px}
  /* точки в европейской части на телефоне стоят стеной — даём список городов */
  .lz-chips{
    display:flex;
    gap:8px;
    margin:0 -12px;
    padding:0 12px 14px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .lz-chips::-webkit-scrollbar{display:none}
  .lz-chip{
    flex:0 0 auto;
    padding:9px 14px;
    border:1px solid var(--line);
    border-radius:999px;
    background:var(--white);
    font:inherit;
    font-size:13px;
    color:var(--ink-600);
    cursor:pointer;
    transition:background-color .16s ease,border-color .16s ease,color .16s ease;
  }
  .lz-chip.is-active{
    background:var(--ink-900);
    border-color:var(--ink-900);
    color:#fff;
  }
  .lz-stat{padding:16px 16px}
  .lz-stat__cap{font-size:12px}
  .lz-result__grid{grid-template-columns:1fr}
  .lz-result__cell{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .lz-result__cell b{margin-top:0}
  .lz-partners{gap:8px 14px}
  .lz-partners__list{gap:6px 14px;font-size:12.5px}
}
