/* ============================================================
   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: #97e017;
  --zc-easing: cubic-bezier(0.22, 1, 0.36, 1);

  background: #1a2438;
  color: rgba(255, 255, 255, 0.7);
  padding: var(--zc-space-9) 0 var(--zc-space-6);
  font-size: 15px;
  font-family: 'Manrope', Arial, sans-serif;
}

.footer__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.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: 13px;
  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: 15px;
}

.footer__col h4 {
  font-size: 13px;
  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: 24px;
  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: #2aabee; }
.footer__social--wa { background: #25d366; }
.footer__social--yt { background: #ff0000; }
/* 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: 13px;
  color: rgba(255, 255, 255, 0.45);
}

.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__top {
    grid-template-columns: 1fr;
  }
}
