
.vd-block{padding:40px 20px;background:#fff}
.vd-block *{font-family:'Gilroy','TildaSans',Arial,sans-serif;box-sizing:border-box}
.vd-in{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.vd-card{border:1px solid #e6e6e6;border-radius:18px;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.05);overflow:hidden}
.vd-calc{padding:26px}
.vd-h{font-size:20px;font-weight:700;margin-bottom:16px;color:#222}
.vd-banks{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.vd-bank{padding:8px 14px;border:1px solid #dcdcdc;border-radius:20px;background:#fff;font-size:13px;color:#555;cursor:pointer;transition:.15s}
.vd-bank.on{background:#6fbf3b;border-color:#6fbf3b;color:#fff;font-weight:600}
.vd-g{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vd-f{display:flex;flex-direction:column;font-size:12px;color:#777}
.vd-f input{margin-top:6px;padding:11px 13px;border:1px solid #dcdcdc;border-radius:10px;font-size:16px;outline:none}
.vd-f input:focus{border-color:#6fbf3b}
.vd-res{margin-top:18px;padding:18px;background:#f5faf0;border-radius:12px}
.vd-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.vd-row:last-child{margin-bottom:0}.vd-row .l{color:#555;font-size:14px}.vd-row b{font-size:24px;color:#3f8f1a}
.vd-row.s .l,.vd-row.s span{color:#999;font-size:13px}
.vd-note{font-size:11px;color:#aaa;margin-top:12px;line-height:1.5}
.vd-map{display:flex;flex-direction:column}
.vd-maplabel{padding:12px 16px;font-size:13px;color:#777;border-bottom:1px solid #eee}
.vd-map iframe{display:block;width:100%;flex:1;min-height:420px;border:0}
@media(max-width:900px){.vd-in{grid-template-columns:1fr}.vd-map iframe{min-height:320px}}
</style>

(function(){
  if(location.pathname.indexOf('/tproduct/')===-1)return;
  /* === Банки и примерные ставки — ЗАМЕНИТЕ на актуальные === */
  var BANKS=[['Сбер',17.9],['ВТБ',18.1],['Россельхозбанк',17.5],['Т-Банк',18.3]];
  var fmt=function(n){return new Intl.NumberFormat('ru-RU').format(Math.round(n));};
  function getPrice(){var s=['.js-product-price','[itemprop="price"]'];for(var i=0;i<s.length;i++){var el=document.querySelector(s[i]);if(el){var n=parseInt((el.getAttribute('content')||el.textContent||'').replace(/[^0-9]/g,''),10);if(n>0)return n;}}return 0;}
  function loc(){var info=document.querySelector('.t-catalog__prod-popup__info');var txt=info?info.innerText:'';function g(l){var m=txt.match(new RegExp(l+"\\s*:?\\s*([^\\n]+)"));return m?m[1].trim():'';}return {c:g('Населенный пункт')||g('Населённый пункт')||'Ахтубинск',r:g('Район')};}
  function anchor(){var el=document.querySelector('.t-catalog__prod-snippet__container')||document.querySelector('.js-product-price');return el?el.closest('.r.t-rec'):null;}
  function build(){
    var L=loc(),query=encodeURIComponent(('Астраханская область '+L.c+' '+L.r).trim());
    var btns=BANKS.map(function(b,i){return '<button type="button" class="vd-bank'+(i===0?' on':'')+'" data-rate="'+b[1]+'">'+b[0]+'</button>';}).join('');
    var sec=document.createElement('div');sec.className='vd-block';
    sec.innerHTML='<div class="vd-in">'+
      '<div class="vd-card vd-calc">'+
        '<div class="vd-h">Ипотечный калькулятор</div>'+
        '<div class="vd-banks">'+btns+'</div>'+
        '<div class="vd-g">'+


