/* ============================================================
   ZEROCODER FOOTER — стили переиспользуемого подвала
   Источник: лендинг Neuroclub (sites.zerocoder.ru/neuroclub/)
   Самодостаточный: все токены заданы на .footer, внешних
   зависимостей нет. Шрифт Manrope наследуется от сайта;
   если его нет — см. README (Google Fonts).
   Брейкпоинты Tilda: 4 колонки → 2 (≤959) → 1 (≤639).
   ============================================================ */

.footer {
  /* локальные токены блока — не конфликтуют с сайтом-хозяином */
  --zc-space-3: 12px;
  --zc-space-4: 16px;
  --zc-space-5: 24px;
  --zc-space-6: 32px;
  --zc-space-7: 48px;
  --zc-space-8: 64px;
  --zc-space-9: 96px;
  --zc-accent: #b76aff;
  --zc-easing: cubic-bezier(0.22, 1, 0.36, 1);
  --zc-footer-gutter: clamp(18px, 4.85vw, 94px);
  --zc-footer-fade-height: clamp(160px, 20vw, 340px);

  position: relative;
  isolation: isolate;
  background: #0b102b;
  color: rgba(255, 255, 255, 0.7);
  padding: var(--zc-space-9) var(--zc-footer-gutter) var(--zc-space-6);
  font-size: clamp(15px, 1.05vw, 18px);
  font-family: 'Manrope', Arial, sans-serif;
}

.footer::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: calc(-1 * var(--zc-footer-fade-height));
  height: var(--zc-footer-fade-height);
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(11, 16, 43, 0) 0%, rgba(11, 16, 43, 0.28) 30%, rgba(11, 16, 43, 0.78) 70%, #0b102b 100%);
}

.footer__container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1720px;
  margin: 0 auto;
  padding: 0;
}

.footer__top {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: var(--zc-space-8);
  padding-bottom: var(--zc-space-7);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer__brand {
  display: flex;
  flex-direction: column;
  gap: var(--zc-space-5);
}

.footer__logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.footer__logo-img {
  display: block;
  height: 36px;
  width: auto;
  max-width: 220px;
}

.footer__address {
  display: block;
  font-size: clamp(13px, 0.9vw, 16px);
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.55);
}

.footer__badges {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 14px;
  width: fit-content;
}

.footer__badge-img {
  display: block;
  height: 44px;
  width: auto;
}

.footer__badge-img--rk { height: 48px; }
.footer__badge-img--sk { height: 36px; }

.footer__col {
  font-size: inherit;
}

.footer__col h4 {
  font-size: clamp(13px, 0.9vw, 16px);
  color: rgba(255, 255, 255, 0.45);
  margin: 0 0 var(--zc-space-4);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.footer__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: var(--zc-space-3);
}

.footer__col a {
  color: #fff;
  text-decoration: none;
  transition: color 0.2s var(--zc-easing);
}

.footer__col a:hover {
  color: var(--zc-accent);
}

.footer__col--contacts {
  display: flex;
  flex-direction: column;
  gap: var(--zc-space-5);
}

.footer__contact-block h4 {
  margin-bottom: 4px;
}

.footer__contact-value {
  display: inline-block;
  font-size: clamp(24px, 1.7vw, 30px);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.01em;
  text-decoration: none;
  transition: color 0.2s;
}

.footer__contact-value:hover {
  color: var(--zc-accent);
}

.footer__socials {
  display: flex;
  gap: 12px;
  margin-top: 6px;
}

.footer__social {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  transition: transform 0.2s var(--zc-easing), box-shadow 0.2s;
}

.footer__social--tg { background: #8058fa; }
.footer__social--wa { background: #2cca62; }
.footer__social--yt { background: #6539ed; }
/* MAX — готовый брендовый бейдж (svg с вшитым градиентом), скругляем под круги */
.footer__social--max { overflow: hidden; }

.footer__social-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.footer__social:hover {
  transform: translateY(-2px) scale(1.06);
  box-shadow: 0 8px 20px -6px rgba(0, 0, 0, 0.5);
}

.footer__social svg {
  width: 22px;
  height: 22px;
}

.footer__bottom {
  padding-top: var(--zc-space-6);
  display: flex;
  justify-content: space-between;
  gap: var(--zc-space-5);
  flex-wrap: wrap;
  font-size: clamp(13px, 0.85vw, 15px);
  color: rgba(255, 255, 255, 0.45);
}

@media (max-width: 1100px) {
  .footer {
    --zc-footer-gutter: 32px;
  }
}

.footer__copy {
  letter-spacing: 0.01em;
}

.footer__legal {
  display: flex;
  gap: var(--zc-space-7);
  flex-wrap: wrap;
}

/* Horizontal tablet и меньше — 2 колонки */
@media (max-width: 959px) {
  .footer__top {
    grid-template-columns: 1fr 1fr;
    gap: var(--zc-space-6);
  }
}

/* Mobile — 1 колонка */
@media (max-width: 639px) {
  .footer {
    --zc-footer-gutter: 18px;
    --zc-footer-fade-height: 160px;
  }

  .footer__top {
    grid-template-columns: 1fr;
  }
}
