.site-footer { margin-top: var(--section-space); color: var(--color-white); background: var(--color-text); }
.site-footer__inner { padding-block: 64px; }
.site-footer__columns { display: grid; grid-template-columns: 1.15fr 2fr 0.8fr 1.2fr; gap: 48px; }
.site-footer__navigation-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.site-footer__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.site-footer__logo { width: 154px; }
.site-footer__logo img { width: 154px; height: 52px; object-fit: contain; }
.site-footer__description { max-width: 250px; color: rgb(255 255 255 / 65%); }
.site-footer__heading { color: rgb(255 255 255 / 20%); margin-bottom: 24px; }
.site-footer__links { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.site-footer a { text-decoration: none; }
.site-footer__links a, .site-footer__contacts dd, .site-footer__bottom a { color: rgb(255 255 255 / 80%); }
.site-footer a:hover { color: var(--color-accent); }
.site-footer__contacts { display: flex; flex-direction: column; gap: 24px; margin: 0; }
.site-footer__contacts dt { color: rgb(255 255 255 / 20%); font-size: 12px; margin-bottom: 8px; }
.site-footer__contacts dd { margin: 0; font-weight: 700; }
.site-footer__bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 28px 24px; margin-top: 48px; padding-top: 28px; border-top: 1px solid rgb(255 255 255 / 10%); }
.site-footer__bottom p { color: rgb(255 255 255 / 40%); }
.site-footer__copyright { margin: 0; font-size: 13px; line-height: 1.5; }
.site-footer__legal-links { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 10px 22px; }
.site-footer__legal-links a, .site-footer__legal-links span { font-size: 12px; line-height: 1.4; white-space: nowrap; }
.site-footer__legal-links span { color: rgb(255 255 255 / 40%); }
.site-footer__requisites { display: flex; grid-column: 1 / -1; justify-content: space-between; gap: 24px; padding-top: 22px; border-top: 1px solid rgb(255 255 255 / 10%); color: rgb(255 255 255 / 40%); font-size: 12px; line-height: 1.5; }
@media (max-width: 1024px) {
  .site-footer__inner { padding-block: 48px; }
  .site-footer__columns { grid-template-columns: 1fr 2fr 0.8fr 1.3fr; gap: 16px; }
  .site-footer__navigation-columns { gap: 16px; }
  .site-footer__logo { width: 154px; }
  .site-footer__bottom { margin-top: 32px; padding-top: 24px; }
}
@media (max-width: 767px) {
  .site-footer__legal-links { justify-content: flex-start; flex-direction: column; align-items: flex-start; }
  .site-footer__navigation-columns { grid-template-columns: minmax(0, 1fr); }
  .site-footer__columns { grid-template-columns: minmax(0, 1fr); gap: 48px; text-align: center; }
  .site-footer__brand, .site-footer__links { align-items: center; }
  .site-footer__brand { gap: 24px; }
  .site-footer__description { max-width: 290px; }
  .site-footer__heading { margin-bottom: 24px; }
  .site-footer__bottom { grid-template-columns: minmax(0, 1fr); text-align: left; gap: 20px; }
  .site-footer__requisites { flex-direction: column; gap: 8px; }
}
