/* SITE_FOOTER_2026_08_09 — подвал сайта, общий для всех страниц.
   Собран из стилей главной, чтобы не держать копию в каждом файле. */
.nv-footer{background:#0b0716;padding:0;font-family:'Manrope',-apple-system,'Segoe UI',Roboto,sans-serif;position:relative;border-radius:28px 28px 0 0;overflow:hidden;margin-top:-28px;z-index:2;}
.nv-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;
        background:linear-gradient(90deg,transparent,#d000ff 50%,transparent);opacity:0.7;pointer-events:none;z-index:2;}
.nv-footer::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
        background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);
        background-size:48px 48px;mask-image:radial-gradient(ellipse at center,black,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,black,transparent 75%);}
.nv-footer *{box-sizing:border-box;}
.nv-footer a{text-decoration:none;}
.nv-ft-main{background:linear-gradient(160deg,#170f2d,#0b0716);
        padding:42px 0 0;color:#fff;}
.nv-ft-cols{display:grid;grid-template-columns:1.5fr 1fr 0.95fr 1.1fr 1.2fr;gap:24px;
        max-width:1200px;margin:0 auto;padding:0 24px 34px;
        border-bottom:1px solid rgba(255,255,255,0.1);}
.nv-ft-col + .nv-ft-col{border-left:1px solid rgba(255,255,255,0.1);padding-left:22px;}
.nv-ft-logo{font-size:30px;font-weight:800;letter-spacing:-.5px;margin-bottom:14px;line-height:1;color:#fff;}
.nv-ft-logo .nv-ft-logo-66{background:linear-gradient(120deg,#a78bfa,#7c3aed);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.nv-ft-logo i{color:#8b5cf6;font-style:normal;}
.nv-ft-desc{font-size:13.5px;line-height:1.65;color:#9c95ad;margin:0 0 20px;max-width:300px;}
.nv-ft-soc{display:flex;gap:10px;justify-content:flex-start;}
.nv-ft-soc a{width:56px;height:56px;min-width:56px;padding:14px 0 0 0;border-radius:14px;
        background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);
        display:flex;align-items:center;justify-content:center;color:#d6d1e0;
        font-size:13px;font-weight:700;transition:all .15s;}
.nv-ft-soc a{box-shadow:inset 0 1px 0 rgba(255,255,255,0.05),0 4px 12px rgba(139,92,246,0.15);}
.nv-ft-soc a:hover{background:rgba(139,92,246,0.22);color:#fff;border-color:rgba(139,92,246,0.5);box-shadow:inset 0 1px 0 rgba(255,255,255,0.08),0 6px 20px rgba(139,92,246,0.35);}
.nv-ft-soc a svg{width:24px;height:24px;fill:#fff;flex:0 0 auto;}
.nv-ft-soc a img{width:24px;height:24px;object-fit:contain;display:block;opacity:1;transition:opacity .15s;flex:0 0 auto;}
.nv-ft-soc a:hover img{opacity:1;}
.nv-ft-col h4{font-size:14px;font-weight:700;margin:0 0 15px;padding-bottom:10px;position:relative;display:inline-block;}
.nv-ft-col h4::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:2px;border-radius:2px;background:linear-gradient(90deg,#a78bfa,#7c3aed);box-shadow:0 0 8px rgba(167,139,250,0.5);}
.nv-ft-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.nv-ft-col a{font-size:12.5px;color:#9c95ad;display:flex;align-items:flex-start;gap:7px;
        transition:color .15s;}
.nv-ft-col a:hover{color:#fff;}
.nv-ft-col a .ch{color:#5b5470;font-weight:700;order:2;margin-left:auto;padding-left:12px;}
.nv-ft-col a:hover .ch{color:#8b5cf6;}
.nv-ft-ct svg{width:16px;height:16px;fill:#8b5cf6;flex:0 0 auto;margin-top:1px;}
.nv-ft-bottom{background:rgba(0,0,0,0.28);}
.nv-ft-bottom-in{display:flex;align-items:center;flex-wrap:wrap;gap:12px 26px;
        max-width:1200px;margin:0 auto;padding:18px 24px;font-size:12.5px;color:#7a7390;}
.nv-ft-badges{display:flex;flex-wrap:wrap;gap:9px 22px;margin-left:auto;}
.nv-ft-bg{display:flex;align-items:center;gap:7px;}
.nv-ft-bg{font-weight:500;color:#d6d1e0;gap:8px;}
.nv-ft-bg svg{width:18px;height:18px;fill:#a78bfa;flex:0 0 auto;
        filter:drop-shadow(0 0 4px rgba(139,92,246,0.4));}
.nv-ft-bottom a{color:#7a7390;transition:color .15s;}
.nv-ft-bottom a:hover{color:#fff;}
@media(max-width:860px){
.nv-ft-main{padding:32px 0 0;}
.nv-ft-cols{grid-template-columns:1fr 1fr 1fr;gap:24px;}
.nv-ft-col + .nv-ft-col{border-left:0;padding-left:0;}
.nv-ft-badges{margin-left:0;}
}
@media(max-width:540px){
.nv-ft-cols{grid-template-columns:1fr;}
}
.nv-ft-rustore{display:inline-flex;width:fit-content;align-self:flex-start;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:9px 18px;margin-top:16px;transition:transform .15s,box-shadow .15s}
.nv-ft-rustore:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(124,58,237,.45)}
.nv-ft-rs-txt{display:flex;flex-direction:column;line-height:1.15}
.nv-ft-rs-txt span{font-size:11px;color:#555}
.nv-ft-rs-txt b{font-size:16px;font-weight:800;color:#0b0b1a}

/* FOOTER_SOC_ICONS_2026_08_11: логотипы соцсетей — картинки разных пропорций
   (vk 32x19, max 128x128), их жёстко ужимали в квадрат 24x24 и плющило.
   contain сохраняет пропорции и ставит их вровень с SVG-иконкой Telegram. */
.nv-ft-soc img { object-fit: contain; }
