.site-footer {
    background: #14161a;
    color: #d1d5db;
    margin-top: 0;
}

.site-footer__inner {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 48px 24px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}
.site-footer h4 { color: #fff; margin-bottom: 12px; font-size: 14px; }
.site-footer__brand img {
    display: block; width: auto; max-width: 180px; max-height: 36px; object-fit: contain;
    margin-bottom: 10px;
}
.site-footer__links { display: flex; flex-direction: column; gap: 8px; }
.site-footer__links a { color: #9ca3af; font-size: 14px; transition: color .15s ease; }
.site-footer__links a:hover { color: #fff; }

.site-footer__social-icons { display: flex; gap: 10px; flex-wrap: wrap; }
.social-icon {
    display: flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 50%;
    background: #1f2228; color: #d1d5db;
    transition: background .15s ease, color .15s ease, transform .15s ease;
}
.social-icon:hover { background: var(--color-accent); color: #fff; transform: translateY(-2px); }

.site-footer__newsletter form { display: flex; gap: 8px; }
.site-footer__newsletter input { flex: 1; padding: 9px 10px; border-radius: var(--radius); border: none; font-size: 14px; }
.site-footer__newsletter button {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--color-accent); color: #fff; border: none; border-radius: var(--radius);
    padding: 0 14px; cursor: pointer; font-size: 13px; font-weight: 500;
    transition: background .15s ease;
}
.site-footer__newsletter button:hover { background: #0c584c; }
.site-footer__newsletter i { vertical-align: -1px; }

.site-footer__legal { border-top: 1px solid #2a2d33; padding: 16px 24px; display: flex; gap: 16px; justify-content: space-between; font-size: 13px; flex-wrap: wrap; }
.site-footer__legal a { color: #9ca3af; }
.site-footer__legal a:hover { color: #fff; }

.back-to-top {
    position: fixed; bottom: 24px; right: 24px; display: none;
    align-items: center; justify-content: center;
    width: 42px; height: 42px; border-radius: 50%;
    background: var(--color-accent); color: #fff; border: none; cursor: pointer;
    box-shadow: 0 6px 16px rgba(0,0,0,.2);
    transition: background .15s ease, transform .15s ease;
}
.back-to-top:hover { background: #0c584c; transform: translateY(-2px); }
.back-to-top.is-visible { display: flex; }

@media (max-width: 860px) {
    .site-footer__inner { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
    .site-footer__inner { grid-template-columns: 1fr; }
    .site-footer__legal {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 8px;
        text-align: center;
        font-size: 11px;
    }
    .site-footer__legal a {
        display: inline-block;
        font-size: 11px;
        white-space: nowrap;
    }
    .back-to-top { bottom: 16px; right: 16px; }
}
