.floating-contact-btn {
    position: fixed;
    bottom: calc(26px + env(safe-area-inset-bottom, 0px));
    z-index: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, .25);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease, box-shadow .2s ease;
}
.floating-contact-btn--phone { left: calc(26px + env(safe-area-inset-left, 0px)); background: var(--color-brand-primary, #b5121b); }
.floating-contact-btn--whatsapp { right: calc(26px + env(safe-area-inset-right, 0px)); background: #128c4a; }
.floating-contact-btn:hover { color: #fff; transform: translateY(-4px); box-shadow: 0 12px 28px rgba(0, 0, 0, .28); }
.floating-contact-btn:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
.floating-contact.is-footer-hidden .floating-contact-btn,
body.scroll-locked .floating-contact-btn {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(20px) scale(.9);
}
body:has(.floating-contact-btn--whatsapp) .back-to-top { bottom: calc(98px + env(safe-area-inset-bottom, 0px)); }
@media (max-width: 576px) {
    .floating-contact-btn { width: 52px; height: 52px; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); }
    .floating-contact-btn--phone { left: calc(18px + env(safe-area-inset-left, 0px)); }
    .floating-contact-btn--whatsapp { right: calc(18px + env(safe-area-inset-right, 0px)); }
    body:has(.floating-contact-btn--whatsapp) .back-to-top { bottom: calc(86px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
    .floating-contact-btn { transition: none; }
}
