@layer theme.components {

/* Подвал: тёмная плашка с реквизитами и контактами. */

.tt-footer__dark { background: var(--color-bg-dark); color: var(--color-text-footer); font-size: 10.7px; }
.tt-footer__top {
  display: flex; align-items: flex-start; flex-wrap: wrap; gap: 36px;
  max-width: var(--width-container); margin: 0 auto; padding: 36px var(--space-gutter);
}
.tt-footer__brand-col { flex: 1 1 380px; min-width: 0; }
.tt-footer__logo { display: block; width: auto; height: 44px; margin: 0 0 16px; }
.tt-footer__legal-line { max-width: 520px; margin: 0; color: var(--color-text-footer-muted); font-size: 11.5px; line-height: 1.6; }

.tt-footer__contacts { flex: 0 1 300px; display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.tt-footer__contacts li { display: flex; align-items: flex-start; gap: 10px; color: var(--color-text-footer-muted); font-size: 10.7px; line-height: 1.5; }
.tt-footer__contacts svg { flex: none; margin-top: 3px; stroke: var(--color-text-footer-muted); }
.tt-footer__contacts a { color: var(--color-text-on-dark); text-decoration: none; }
.tt-footer__contacts a:hover { color: var(--color-accent); }

/* Вертикальное меню справа: разделы, которых нет в шапке. */
.tt-footer__menu { flex: 0 1 180px; margin-inline-start: auto; }
.tt-footer__menu ul { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.tt-footer__menu a,
.tt-footer__menu span { color: var(--color-text-on-dark); font-size: 11.5px; line-height: 1.5; text-decoration: none; }
.tt-footer__menu a:hover { color: var(--color-accent); }
.tt-footer__menu span { color: var(--color-text-footer-muted); }

.tt-footer__bottom {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px;
  max-width: var(--width-container); margin: 0 auto; padding: 12px var(--space-gutter) 18px;
  border-top: 1px solid var(--color-border-footer);
}
.tt-footer__legal { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; color: var(--color-text-footer-muted); font-size: 10.7px; }
.tt-footer__legal a,
.tt-footer__legal-link { color: var(--color-text-footer); font-size: 10.7px; text-decoration: none; }
.tt-footer__legal a:hover { color: var(--color-text-inverse); }
.tt-footer__legal-note { color: var(--color-text-footer-muted); font-size: 10.7px; }
.tt-footer__social { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.tt-footer__social a,
.tt-footer__social span {
  display: flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border: 1px solid var(--color-border-social); border-radius: 50%;
  color: var(--color-text-on-dark); font-size: 10px; font-weight: 600; text-decoration: none;
}
.tt-footer__social a:hover { border-color: var(--color-text-inverse); color: var(--color-text-inverse); }

@media (max-width: 720px) {
  /* Вертикальное меню справа: разделы, которых нет в шапке. */
.tt-footer__menu { flex: 0 1 180px; margin-inline-start: auto; }
.tt-footer__menu ul { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.tt-footer__menu a,
.tt-footer__menu span { color: var(--color-text-on-dark); font-size: 11.5px; line-height: 1.5; text-decoration: none; }
.tt-footer__menu a:hover { color: var(--color-accent); }
.tt-footer__menu span { color: var(--color-text-footer-muted); }

.tt-footer__bottom { padding-top: 20px; }
}

}
