.site-footer {
    background: var(--footer-bg);
    border-top: 1px solid var(--footer-border);
    color: var(--footer-text);
    padding: 23px 0;
}

.footer-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.footer-wrap p,
.footer-wrap>span {
    color: var(--footer-muted);
    font-size: var(--type-label);
    line-height: 1.5;
}

.footer-credit {
    color: var(--footer-text);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 220ms ease;
}

.footer-credit:hover,
.footer-credit:focus-visible {
    color: var(--contact-accent);
}

.whatsapp-float,
.back-to-top {
    position: fixed;
    z-index: 8;
    border: 0;
    cursor: pointer;
}

.whatsapp-float {
    display: none;
    right: 25px;
    bottom: 25px;
    align-items: center;
    gap: 9px;
    padding: 13px 17px;
    background: var(--green);
    color: var(--whatsapp-ink);
    font-size: var(--type-label);
    font-weight: 600;
    box-shadow: 0 8px 22px #0002;
    transition: background-color 240ms ease, box-shadow 240ms ease, transform 240ms ease;
}

.whatsapp-float:focus-visible,
.back-to-top:focus-visible {
    outline: 3px solid var(--nav-green);
    outline-offset: 4px;
}

@media (hover: hover) and (pointer: fine) {
    .whatsapp-float:hover {
        background: color-mix(in srgb, var(--green) 88%, #15200f);
        box-shadow: 0 10px 24px #0003;
        transform: translateY(-1px);
    }

    .back-to-top:hover {
        border-color: var(--nav-green);
        color: var(--nav-green);
    }
}

.whatsapp-float:first-letter {
    font-size: 18px;
}

.back-to-top {
    right: 25px;
    bottom: 25px;
    display: none;
    width: 43px;
    height: 43px;
    background: var(--paper);
    color: var(--ink);
    border: 1px solid var(--line);
    font-size: 20px;
}

.back-to-top.visible {
    display: block;
}

.back-to-top~.whatsapp-float {
    bottom: 80px;
}
