/* ── Футер ──────────────────────────────────────────────────────────────── */
.site-footer {
    margin-top: var(--section-gap);
    padding-top: var(--space-8);
    font-size: var(--fs-sm);
    background: var(--color-bg-warm);
}

.site-main--home + .site-footer,
.site-main--sales + .site-footer,
.site-main--shops + .site-footer,
.site-main--faq + .site-footer,
.site-main--partnership + .site-footer,
.site-main--contacts + .site-footer,
.site-main--payment + .site-footer,
.site-main--legal + .site-footer,
.site-main--blog + .site-footer,
.site-main--shop + .site-footer,
.site-main--product + .site-footer,
.site-main--page + .site-footer,
.site-main--thanks + .site-footer,
.site-main--404 + .site-footer,
.site-main--gift + .site-footer,
.site-main--single + .site-footer { margin-top: 0; }

.site-footer__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr)) minmax(0, 1.3fr);
    gap: var(--space-7) var(--space-7);
}

.site-footer__logo { display: inline-block; --logo-height: 52px; }

.site-footer__about { max-width: 36ch; margin-top: var(--space-4); }

.site-footer__socials { margin-top: var(--space-5); }

.site-footer__title {
    margin-bottom: var(--space-4);
    font-size: var(--fs-xs);
    font-weight: var(--fw-medium);
    letter-spacing: var(--ls-caps);
    text-transform: uppercase;
    color: var(--color-heading);
}
.site-footer__title::before {
    content: '';
    display: block;
    width: 24px;
    height: 1px;
    margin-bottom: var(--space-3);
    background: var(--color-primary);
}

.site-footer__bottom {
    margin-top: var(--space-8);
    border-top: 1px solid var(--color-border-strong);
}

.site-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding-top: var(--space-4);
    padding-bottom: var(--space-4);
    font-size: var(--fs-xs);
    color: var(--color-muted);
}

/* ── Меню футера ────────────────────────────────────────────────────────── */
.footer-nav__list { display: grid; gap: var(--space-3); }
.footer-nav__link { color: var(--color-text); transition: color var(--transition); }
.footer-nav__link:hover { color: var(--color-accent); }

/* ── Кнопка «Нагору» ────────────────────────────────────────────────────── */
.back-to-top {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: var(--color-heading);
    border: 1px solid var(--color-border-strong);
    border-radius: 50%;
    transition: color var(--transition), background-color var(--transition), border-color var(--transition), transform var(--transition);
}
.back-to-top:hover {
    color: var(--color-on-primary);
    background: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
    transform: translateY(-2px);
}

/* ── Адаптив ────────────────────────────────────────────────────────────── */
@media (max-width: 1023px) {
    .site-footer__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7) var(--space-6); }
    .site-footer__brand { grid-column: 1 / -1; }
    .site-footer__about { max-width: 56ch; }
}

@media (max-width: 767px) {
    .site-footer { padding-top: var(--space-7); }
    .site-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--space-5); }
    .site-footer__contacts { grid-column: 1 / -1; }
    .site-footer__bottom { margin-top: var(--space-7); }
}

@media (prefers-reduced-motion: reduce) {
    .back-to-top:hover { transform: none; }
}
