/* Стили, которые нужны только странице podbor.html */

/* ---------- ЖИВАЯ КАРТА: адмцентры ---------- */
  .ru-map .city{cursor:pointer;}
.ru-map .c-dot{fill:#226B12;stroke:#FFFFFF;stroke-width:1.2;transition:r .18s ease;}
.ru-map .city.mj .c-dot{fill:#12310B;}
.ru-map .c-lbl{opacity:0;transition:opacity .16s ease;pointer-events:none;}
.ru-map .c-lbl text{font-family:'Inter',sans-serif;font-size:15px;font-weight:700;fill:#12310B;
    paint-order:stroke;stroke:#FFFFFF;stroke-width:4px;stroke-linejoin:round;}
.ru-map .c-bg{display:none;}
.ru-map .city:hover .c-dot,.ru-map .city:focus .c-dot{r:7;fill:#8FDB6A;stroke:#226B12;stroke-width:2;}
.ru-map .city:hover .c-lbl,.ru-map .city:focus .c-lbl{opacity:1;}
.ru-map .city.mj .c-lbl{opacity:1;}
.ru-map .city.mj .c-lbl text{font-size:13px;font-weight:600;fill:#3E5C33;}
.ru-map .city.mj:hover .c-lbl text{font-size:16px;font-weight:700;fill:#12310B;}
.geo-map{position:relative;}
.geo-hint{margin:-18px 0 26px;font-size:12.5px;color:var(--ink-soft);text-align:center;}
/* ---------- ЖИВОЙ ПОИСК ---------- */
  .live-search{background:var(--dark-card);border-radius:26px;padding:44px 40px 40px;}
@media (max-width:720px){.live-search{padding:28px 18px 24px;border-radius:18px;}}
.ls-title{font-family:'Unbounded',sans-serif;font-size:clamp(19px,2.4vw,26px);font-weight:700;color:var(--white);text-align:center;margin-bottom:26px;}
.ls-title span{color:var(--green-bright);}
.ls-box{max-width:640px;margin:0 auto;background:var(--dark-card-2);border:1px solid #2C4A38;border-radius:14px;
    padding:16px 20px;display:flex;align-items:center;gap:12px;transition:border-color .2s, box-shadow .2s;}
.ls-box.active{border-color:var(--green-bright);box-shadow:0 0 0 4px rgba(143,219,106,.13);}
.ls-box .ic{color:var(--green-bright);flex-shrink:0;}
.ls-box input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--white);
    font:400 clamp(15px,2vw,19px)/1.3 'Inter',sans-serif;}
.ls-box input::placeholder{color:#5C7A67;}
.ls-status{max-width:640px;margin:16px auto 0;min-height:22px;font-size:13.5px;color:var(--on-dark-soft);text-align:center;}
.ls-status b{color:var(--green-bright);font-weight:700;}
.ls-results{max-width:640px;margin:14px auto 0;display:flex;flex-wrap:wrap;gap:9px;justify-content:center;min-height:88px;}
.ls-chip{background:var(--dark-card-2);border:1px solid #2C4A38;border-radius:100px;padding:9px 15px;
    font-size:12.5px;color:var(--on-dark-soft);opacity:0;transform:translateY(9px);transition:opacity .3s, transform .3s;}
.ls-chip.show{opacity:1;transform:none;}
.ls-chip b{color:var(--white);font-weight:600;}
.ls-chip .ok{color:var(--green-bright);font-weight:600;}
.ls-note{margin-top:18px;font-size:12px;color:#7C9686;text-align:center;}
.ru-map .city.t2 .c-dot{fill:#6FBF4A;stroke:#FFFFFF;stroke-width:1;}
.ru-map .city.t2:hover .c-dot{r:6;fill:#8FDB6A;stroke:#226B12;stroke-width:1.8;}
.ru-map .city.t2 .c-lbl text{font-size:14px;}
#orb{position:absolute;inset:0;z-index:1;width:100%;height:100%;}
@media (max-width:900px){#orb{display:none;}}
.hero-hint{position:relative;z-index:2;margin-top:18px;font-size:12px;color:#7C9686;}
@media (max-width:999px){.hero-hint{display:none;}}
/* №41: попап при выборе города на карте */
  .city-pop-bg{position:fixed;inset:0;background:rgba(15,28,12,.45);z-index:220;display:none;}
.city-pop-bg.show{display:block;}
.city-pop{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);z-index:221;
    background:var(--white);border-radius:20px;padding:28px 26px 24px;width:min(92vw,400px);
    box-shadow:0 30px 70px rgba(18,49,11,.35);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease;}
.city-pop.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1);}
.city-pop h4{font-family:'Unbounded',sans-serif;font-size:18px;font-weight:700;color:var(--black);margin:0 0 8px;}
.city-pop p{font-size:13.5px;color:var(--ink-soft);margin:0 0 18px;line-height:1.55;}
.city-pop .cp-btns{display:flex;flex-direction:column;gap:10px;}
.city-pop .cp-btns a{justify-content:center;}
.city-pop .cp-x{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:var(--bg-soft);
    border-radius:50%;cursor:pointer;font-size:16px;color:var(--ink-soft);line-height:1;}
.city-pop .cp-x:hover{background:var(--pale);color:var(--green-deep);}
/* №48: мобильная подсветка карточки таблицы подбора, которая на экране */
  .spec-cards .price-card{transition:border-color .3s ease, background .3s ease, box-shadow .3s ease;}
.spec-cards .price-card.in-view{
    border-color:var(--green-main); background:var(--pale);
    box-shadow:inset 0 0 0 1px var(--green-main);
  }
/* №37/№40: мобильный ярлык «Живое демо» + полноэкранный оверлей */
  .demo-tab{position:fixed;right:0;top:58%;z-index:150;display:none;align-items:center;gap:8px;
    background:var(--dark-card);color:var(--green-bright);font-weight:600;font-size:12.5px;font-family:'Inter',sans-serif;
    padding:10px 14px 10px 12px;border-radius:14px 0 0 14px;border:none;
    box-shadow:0 6px 18px rgba(18,49,11,.3);cursor:pointer;white-space:nowrap;}
.demo-tab svg{width:14px;height:14px;}
@media (max-width:900px){.demo-tab{display:flex;}}
.demo-overlay{position:fixed;inset:0;z-index:400;display:none;
    background:radial-gradient(120% 100% at 80% 20%, #16260F 0%, #0F1C0C 60%, #0A1308 100%);}
.demo-overlay.show{display:block;}
.demo-overlay .ov-stage{position:absolute;inset:0;}
.demo-overlay canvas{position:absolute;inset:0;width:100%;height:100%;}
.demo-overlay .ov-x{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border:none;
    background:rgba(255,255,255,.12);color:#fff;border-radius:50%;font-size:17px;line-height:1;cursor:pointer;}
.demo-overlay .ov-cap{position:absolute;left:0;right:0;bottom:16px;z-index:2;text-align:center;
    color:var(--on-dark-soft);font-size:12.5px;padding:0 34px;pointer-events:none;}
.demo-overlay .ov-ttl{position:absolute;left:20px;top:20px;z-index:2;color:#fff;
    font-family:'Unbounded',sans-serif;font-size:14px;font-weight:700;max-width:70%;}
/* №51: девять шагов — «зажигаются» по мере прокрутки */
  .step-node::after{transition:width .5s ease;}
.step-node.lit::after{width:100%;}
.step-node .badge{transition:background .35s, border-color .35s, color .35s, transform .35s cubic-bezier(.3,1.3,.4,1);}
.step-node.lit .badge{background:var(--green-main);border-color:var(--green-main);color:#fff;transform:scale(1.08);}
.step-node.lit{border-left-color:var(--green-main);}
.tl-progress{position:sticky;top:84px;float:right;background:var(--dark-card);color:#fff;border-radius:100px;
    padding:9px 18px;font-size:12.5px;font-weight:600;z-index:5;}
.tl-progress b{color:var(--green-bright);}
@media (prefers-reduced-motion:reduce){.step-node::after,.step-node .badge{transition:none;}}
/* №67–69: список услуг подбора — скролл-таймлайн с ловушками на тарифы */
  .svc-tl{position:relative;}
.svc-tl::before{content:"";position:absolute;left:27px;top:12px;bottom:12px;width:3px;background:var(--line);border-radius:2px;z-index:0;}
.svc-tl .tl-fill{position:absolute;left:27px;top:12px;width:3px;height:0;background:var(--green-main);border-radius:2px;z-index:0;}
.svc-tl li{position:relative;z-index:1;cursor:pointer;opacity:.55;
    transition:opacity .3s ease, background .22s ease, border-color .22s ease, transform .22s ease;}
.svc-tl li.lit{opacity:1;}
.svc-tl li .badge{transition:background .3s, border-color .3s, color .3s, transform .3s cubic-bezier(.3,1.3,.4,1);}
.svc-tl li.lit .badge{background:var(--green-main);border-color:var(--green-main);color:#fff;transform:scale(1.08);}
.svc-tl li:hover{background:var(--pale);border-color:var(--green-light);transform:translateX(5px);opacity:1;}
.svc-tl li .go{margin-left:auto;flex-shrink:0;color:var(--green-main);font-weight:700;font-size:15px;opacity:0;transition:opacity .2s;}
.svc-tl li:hover .go{opacity:1;}
/* №78: живая воронка найма */
  .ls-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:start;}
.funnel-wrap{position:relative;background:var(--dark-card);border-radius:20px;overflow:hidden;height:420px;}
.funnel-wrap canvas{position:absolute;inset:0;width:100%;height:100%;}
.fn-cap{position:absolute;left:0;right:0;bottom:10px;text-align:center;font-size:11.5px;color:var(--on-dark-soft);pointer-events:none;}
.fn-count{position:absolute;top:14px;right:16px;background:rgba(143,219,106,.14);border:1px solid rgba(143,219,106,.4);
    color:var(--green-bright);font-size:12px;font-weight:700;border-radius:100px;padding:6px 13px;pointer-events:none;}
@media (max-width:1000px){.ls-grid{grid-template-columns:1fr;}.funnel-wrap{display:none;}}
/* №91: ярлык демо сворачивается в язычок */
  .demo-tab{transition:transform .3s ease;}
.demo-tab.folded{transform:translateX(calc(100% - 26px));}
