/* ===== Подвал ===== */
.footer { background: var(--brand-900); color: rgba(255, 255, 255, .78); padding: clamp(56px, 7vw, 88px) 0 28px; font-size: 15px; }
.footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr 1.2fr; gap: 32px; }
.footer__brand img { width: 168px; height: auto; }
.footer__brand p { margin-top: 16px; max-width: 18em; }
.footer__vk { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; padding: 10px 16px; border-radius: 999px; background: rgba(255, 255, 255, .08); text-decoration: none; color: #fff; font-weight: 500; }
.footer__vk svg { width: 20px; height: 20px; fill: currentColor; }
.footer__vk:hover { background: rgba(255, 255, 255, .16); }
.footer h3 { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .5); margin-bottom: 14px; font-weight: 600; }
.footer__col { display: flex; flex-direction: column; gap: 8px; }
.footer__col a { text-decoration: none; }
.footer__col a:hover { color: #fff; }
.footer__phone { font-size: 20px; font-weight: 700; color: #fff; }
.footer .muted { font-size: 13px; color: rgba(255, 255, 255, .5); }

.footer__map {
  position: relative; border-radius: var(--r); padding: 22px; min-height: 180px;
  display: flex; flex-direction: column; justify-content: flex-end; gap: 6px;
  background:
    linear-gradient(0deg, rgba(31, 28, 64, .85), rgba(31, 28, 64, .2)),
    repeating-linear-gradient(35deg, rgba(255, 255, 255, .06) 0 2px, transparent 2px 38px),
    repeating-linear-gradient(-55deg, rgba(255, 255, 255, .05) 0 2px, transparent 2px 52px),
    var(--brand-800);
  overflow: hidden;
}
.footer__pin { position: absolute; top: 34%; left: 50%; width: 22px; height: 22px; border-radius: 50% 50% 50% 0; background: var(--coral); transform: translate(-50%, -50%) rotate(-45deg); box-shadow: 0 0 0 8px rgba(255, 117, 107, .25); }
.footer__map p { font-size: 13px; color: rgba(255, 255, 255, .6); }
.footer__map b { display: block; color: #fff; font-size: 16px; }
.footer__map-link { color: var(--butter); font-weight: 600; text-decoration: none; }

.footer__bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line-light); font-size: 13px; color: rgba(255, 255, 255, .5); }
.footer__bottom a { color: inherit; }

@media (max-width: 1080px) { .footer__grid { grid-template-columns: 1fr 1fr 1fr; } .footer__brand { grid-column: 1 / -1; } }
@media (max-width: 640px) { .footer__grid { grid-template-columns: 1fr; } }
