/* Approved footer: open columns, a quiet app card and a separate word-mark signature. */
html body footer#site-footer.vk-footer,
html[data-vk-theme] body footer#site-footer.vk-footer {
    --vk-footer-surface: #10151b;
    --vk-footer-ink: #f0f2f5;
    --vk-footer-muted: #b4bdca;
    --vk-footer-line: #303944;
    --vk-footer-accent: linear-gradient(100deg, #00b7ef, #854cff 52%, #ec0095);
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    padding: 0;
    border: 0;
    background: var(--vk-footer-surface) !important;
    color: var(--vk-footer-muted) !important;
    font-family: 'Open Sans', Arial, sans-serif;
    text-align: left;
    overflow: visible;
}
footer#site-footer.vk-footer::before {
    content: ''; display: block; height: 1.5px; width: 100%;
    background: var(--vk-footer-accent);
}
#site-footer.vk-footer * { box-sizing: border-box; }
#site-footer.vk-footer .vk-footer__inner { max-width: 1968px; margin: 0 auto; padding: clamp(64px, 4.3vw, 85px) clamp(56px, 3.8vw, 75px) clamp(30px, 2vw, 40px); }
#site-footer.vk-footer .vk-footer__columns {
    display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, .82fr);
    gap: clamp(56px, 3.8vw, 75px); padding-bottom: clamp(36px, 2.4vw, 48px);
}
html[data-vk-theme] body #site-footer.vk-footer :is(p, a, address, span) { color: inherit !important; }
#site-footer.vk-footer :is(p, ul, address, h2, h3) { margin: 0; }
#site-footer.vk-footer a { text-decoration: none; transition: color 160ms ease; }
html[data-vk-theme] body #site-footer.vk-footer a:hover { color: var(--vk-footer-ink) !important; }
#site-footer.vk-footer a:focus-visible,
#site-footer.vk-footer button:focus-visible { outline: 2px solid #8896ff; outline-offset: 5px; border-radius: 3px; }
#site-footer.vk-footer svg { display: block; flex-shrink: 0; width: 22px; height: 22px; }
#site-footer.vk-footer .vk-footer__logo { display: block; width: min(clamp(340px, 23vw, 450px), 100%); }
#site-footer.vk-footer .vk-footer__logo img {
    display: block; width: 100%; height: auto; border: 0; border-radius: 0;
    background: transparent; box-shadow: none; filter: none;
}
html[data-vk-theme] body #site-footer.vk-footer .vk-footer__intro {
    margin: clamp(44px, 3.5vw, 68px) 0 0; max-width: 500px; font-size: clamp(16px, 1.12vw, 22px); font-weight: 400; line-height: 1.65;
    color: var(--vk-footer-muted) !important;
}
#site-footer.vk-footer .vk-footer__social { display: flex; flex-wrap: wrap; gap: clamp(24px, 2vw, 40px); margin-top: clamp(30px, 2vw, 40px); align-items: center; }
#site-footer.vk-footer .vk-footer__social a { display: grid; place-items: center; width: clamp(28px, 2.1vw, 42px); height: clamp(28px, 2.1vw, 42px); }
#site-footer.vk-footer .vk-footer__social svg { width: 100%; height: 100%; stroke-width: 1.7; }
html[data-vk-theme] body #site-footer.vk-footer .vk-footer__heading {
    padding: 0; margin: 0 0 clamp(24px, 1.8vw, 36px); color: var(--vk-footer-ink) !important;
    font-size: clamp(18px, 1.3vw, 26px); line-height: 1.35; font-weight: 650; text-transform: none; letter-spacing: 0;
}
#site-footer.vk-footer .vk-footer__links { display: grid; gap: clamp(9px, .6vw, 12px); padding: 0; margin: 0; list-style: none; }
#site-footer.vk-footer .vk-footer__links li { padding: 0; margin: 0; border: 0; list-style: none; background: transparent; font-size: inherit; line-height: inherit; color: inherit !important; }
#site-footer.vk-footer .vk-footer__links a { display: block; max-width: 100%; font-size: clamp(16px, 1.12vw, 22px); font-weight: 400; line-height: 1.55; overflow-wrap: anywhere; }
#site-footer.vk-footer .vk-footer__contact-link { display: flex; gap: clamp(14px, 1vw, 20px); align-items: flex-start; margin-bottom: clamp(14px, 1vw, 20px); font-size: clamp(16px, 1.12vw, 22px); line-height: 1.5; }
#site-footer.vk-footer .vk-footer__contact-link span { min-width: 0; overflow-wrap: anywhere; }
#site-footer.vk-footer .vk-footer__contact-link svg { margin-top: 2px; width: clamp(22px, 1.6vw, 32px); height: clamp(22px, 1.6vw, 32px); }
html[data-vk-theme] body #site-footer.vk-footer .vk-footer__phone { color: var(--vk-footer-ink) !important; font-size: clamp(17px, 1.2vw, 24px); }
#site-footer.vk-footer .vk-footer__company { border-top: 1px solid var(--vk-footer-line); margin-top: clamp(28px, 2vw, 40px); padding-top: clamp(26px, 2vw, 40px); }
html[data-vk-theme] body #site-footer.vk-footer .vk-footer__company h3 { margin: 0 0 14px; font-size: clamp(15px, 1.1vw, 22px); font-weight: 500; line-height: 1.5; color: var(--vk-footer-muted) !important; }
#site-footer.vk-footer address { display: grid; gap: 2px; font-style: normal; font-size: clamp(16px, 1.12vw, 22px); font-weight: 400; line-height: 1.6; }
html[data-vk-theme] body #site-footer.vk-footer address strong { color: var(--vk-footer-ink) !important; font-weight: 650; margin-bottom: 4px; }
#site-footer.vk-footer .vk-footer__map { display: inline-flex; gap: 12px; align-items: center; margin-top: clamp(26px, 1.8vw, 36px); padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: clamp(16px, 1.12vw, 22px); line-height: 1.5; }
#site-footer.vk-footer .vk-footer__map svg { width: 20px; height: 20px; }
#site-footer.vk-footer .vk-footer__bottom { display: flex; justify-content: space-between; gap: 32px; align-items: center; border-top: 1px solid var(--vk-footer-line); padding-top: clamp(20px, 1.3vw, 26px); }
#site-footer.vk-footer .vk-footer__trademark { position: relative; min-width: 0; }
#site-footer.vk-footer .vk-footer__signature { display: flex; gap: 12px; align-items: center; }
html[data-vk-theme] body #site-footer.vk-footer .vk-footer__signature > a { color: var(--vk-footer-ink) !important; font-size: clamp(23px, 1.55vw, 31px); font-weight: 650; line-height: 1.35; letter-spacing: -.02em; }
#site-footer.vk-footer .vk-footer__signature sup { font-size: .65em; top: -.4em; }
#site-footer.vk-footer .vk-footer__info { display: grid; place-items: center; width: 28px; height: 28px; min-width: 28px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent !important; box-shadow: none; color: var(--vk-footer-muted); cursor: pointer; }
#site-footer.vk-footer .vk-footer__info:hover { color: var(--vk-footer-ink); }
#site-footer.vk-footer .vk-footer__info svg { width: clamp(23px, 1.5vw, 30px); height: clamp(23px, 1.5vw, 30px); }
#site-footer.vk-footer .vk-footer__registration { display: inline-flex; gap: 8px; align-items: center; margin-top: 2px; font-size: clamp(14px, 1vw, 20px); font-weight: 400; line-height: 1.5; }
#site-footer.vk-footer .vk-footer__registration svg { width: 16px; height: 16px; }
#site-footer.vk-footer .vk-footer__number { font-variant-numeric: tabular-nums; white-space: nowrap; }
#site-footer.vk-footer .vk-footer__copyright { font-size: clamp(12px, .95vw, 18px); font-weight: 400; line-height: 1.5; margin-top: 2px; }
#site-footer.vk-footer .vk-footer__popover[hidden] { display: none !important; }
#site-footer.vk-footer .vk-footer__popover {
    position: absolute; left: 0; bottom: calc(100% + 10px); z-index: 20;
    display: grid; gap: 5px; width: min(355px, calc(100vw - 40px));
    padding: 18px; border: 1px solid #434d5d; border-radius: 8px;
    background: #1b222b; color: var(--vk-footer-muted); box-shadow: 0 12px 32px rgb(0 0 0 / 28%);
    font-size: 13px; line-height: 1.5;
}
#site-footer.vk-footer .vk-footer__popover::after { content: ''; position: absolute; width: 100%; height: 12px; bottom: -12px; left: 0; }
#site-footer.vk-footer .vk-footer__popover::before { content: ''; position: absolute; width: 10px; height: 10px; bottom: -6px; left: 24px; background: #1b222b; border-right: 1px solid #434d5d; border-bottom: 1px solid #434d5d; transform: rotate(45deg); }
html[data-vk-theme] body #site-footer.vk-footer .vk-footer__popover > strong { color: var(--vk-footer-ink) !important; font-size: 16px; font-weight: 650; }
#site-footer.vk-footer .vk-footer__popover a { display: inline-flex; gap: 5px; align-items: center; justify-self: start; margin-top: 3px; text-decoration: underline; text-underline-offset: 4px; }
#site-footer.vk-footer .vk-footer__popover svg { width: 16px; height: 16px; }
#site-footer.vk-footer .vk-footer__app {
    display: flex; gap: 16px; align-items: center; width: clamp(300px, 20.3vw, 400px); max-width: 100%; flex-shrink: 0;
    padding: clamp(12px, .85vw, 17px) clamp(16px, 1.1vw, 22px); min-height: 82px; border: 1px solid #526071; border-radius: 14px;
    background: rgb(255 255 255 / 1%); text-align: left;
}
#site-footer.vk-footer .vk-footer__app:hover { border-color: #8190a6; background: rgb(255 255 255 / 3%); }
#site-footer.vk-footer .vk-footer__app > img { display: block; width: clamp(56px, 4vw, 78px); height: clamp(56px, 4vw, 78px); border-radius: 11px; border: 1px solid #303944; object-fit: contain; filter: none; }
#site-footer.vk-footer .vk-footer__app > span { display: grid; min-width: 0; gap: 4px; }
html[data-vk-theme] body #site-footer.vk-footer .vk-footer__app strong { color: var(--vk-footer-ink) !important; font-size: clamp(16px, 1.12vw, 22px); font-weight: 650; line-height: 1.4; }
#site-footer.vk-footer .vk-footer__app-link { display: inline; font-size: clamp(14px, 1vw, 20px); line-height: 1.45; }
#site-footer.vk-footer .vk-footer__app-link svg { display: inline-block; vertical-align: -.15em; width: 14px; height: 14px; margin-left: 2px; }
@media (max-width: 1200px) {
    #site-footer.vk-footer .vk-footer__inner { padding: 48px 32px 28px; }
    #site-footer.vk-footer .vk-footer__columns { gap: 32px; grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 1fr)); }
    #site-footer.vk-footer .vk-footer__heading { font-size: 16px !important; }
    #site-footer.vk-footer :is(.vk-footer__links a, address, .vk-footer__contact-link, .vk-footer__intro, .vk-footer__map) { font-size: 14px !important; }
}
@media (max-width: 1000px) {
    #site-footer.vk-footer .vk-footer__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 48px; }
    #site-footer.vk-footer .vk-footer__logo { width: min(300px, 100%); }
    #site-footer.vk-footer .vk-footer__intro { margin-top: 28px; }
}
@media (max-width: 620px) {
    #site-footer.vk-footer .vk-footer__inner { padding: 36px 20px 24px; }
    #site-footer.vk-footer .vk-footer__columns { grid-template-columns: minmax(0, 1fr); gap: 30px; padding-bottom: 30px; }
    #site-footer.vk-footer .vk-footer__links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; }
    #site-footer.vk-footer .vk-footer__links a { display: block; min-height: 44px; }
    #site-footer.vk-footer .vk-footer__social { gap: 18px; margin-top: 22px; }
    #site-footer.vk-footer .vk-footer__social a { width: 44px; height: 44px; }
    #site-footer.vk-footer .vk-footer__heading { margin-bottom: 18px; }
    #site-footer.vk-footer .vk-footer__bottom { flex-direction: column; align-items: flex-start; gap: 24px; }
    #site-footer.vk-footer .vk-footer__info { width: 44px; height: 44px; }
    #site-footer.vk-footer .vk-footer__app { width: 100%; }
    #site-footer.vk-footer .vk-footer__registration { font-size: 13px; }
    #site-footer.vk-footer .vk-footer__company { margin-top: 22px; padding-top: 22px; }
}
@media (prefers-reduced-motion: reduce) { #site-footer.vk-footer a { transition: none; } }
@media (forced-colors: active) {
    #site-footer.vk-footer .vk-footer__popover { border-color: CanvasText; background: Canvas; color: CanvasText; }
    #site-footer.vk-footer .vk-footer__app { border-color: LinkText; }
}

/* Leave space for the existing floating assistant when it is installed. */
body:has(.vka-launcher) #site-footer.vk-footer .vk-footer__inner {
    padding-bottom: max(128px, calc(104px + env(safe-area-inset-bottom, 0px)));
}
