/* FabGroupP1 (P1, Y1 03.11): below 1280 px the contact bar and chat launcher are one bottom-right column, the 3 links fold behind one opener (checkbox + label, no script).
   From 1280 px the bar stays at the side: .sl-container keeps a safe zone and the bar rides above the cookie card. */
html:root body .social-bar-chk,
html:root body .social-bar-open {
    display: none;
}

@media (max-width: 1279px) {
    html:root body .ra .ra-toggle,
    html:root:has(#cookie-banner.show) body .ra .ra-toggle {
        width: 56px;
        height: 56px;
        bottom: 16px;
        right: 16px;
        translate: 0 calc(-1 * var(--ra-lift, 0px) - min(var(--ra-lift, 0px), 1px) * 12);
        transition: transform 0.2s ease, translate 0.5s cubic-bezier(.4, 0, .2, 1);
    }

    html:root body .social-bar-fixed {
        top: auto;
        bottom: 82px;
        right: 22px;
        transform: none;
        align-items: flex-end;
        gap: 8px;
        translate: 0 calc(-1 * var(--ra-lift, 0px) - min(var(--ra-lift, 0px), 1px) * 12);
        transition: translate 0.5s cubic-bezier(.4, 0, .2, 1);
    }

    html:root body .social-bar-fixed .social-icon {
        width: 44px;
        height: 44px;
        margin-left: 0;
        border-radius: 50%;
        font-size: 1.4rem;
        box-shadow: 0 4px 14px rgba(17, 17, 17, .22);
    }

    html:root body .social-bar-fixed .social-icon:hover,
    html:root body .social-bar-fixed .social-icon:focus-visible {
        transform: scale(1.08);
    }

    html:root body .social-bar-fixed .social-icon:not(.social-bar-open) {
        display: none;
    }

    html:root body .social-bar-fixed .social-bar-chk:checked ~ .social-icon {
        display: flex;
    }

    html:root body .social-bar-fixed .social-bar-open {
        display: flex;
        order: 1;
        background: #0b3a6e;
    }

    html:root body .social-bar-fixed .social-bar-chk {
        display: block;
        position: absolute;
        right: 0;
        bottom: 0;
        width: 44px;
        height: 44px;
        margin: 0;
        opacity: 0;
        z-index: 1;
        cursor: pointer;
    }

    html:root body .social-bar-fixed .social-bar-chk:focus-visible + .social-bar-open {
        box-shadow: 0 0 0 3px #fff, 0 0 0 5px #0b3a6e;
    }

    /* page end: last footer lines stay above the opener */
    html:root body .footer-bottom {
        border-bottom: 40px solid #022041;
    }

    html:root:has(.main-menu.active) body .social-bar-fixed {
        visibility: hidden;
        opacity: 0;
    }
}

/* +8 px scroll bar; 12 px above the card */
@media (min-width: 1280px) {
    html:root body .sl-container {
        padding-right: max(20px, calc(64px - max(0px, (100vw - 1320px) / 2)));
    }

    html:root body .social-bar-fixed {
        translate: 0 min(0px, calc(50vh - var(--ra-lift, 0px) - 114px));
        transition: translate 0.5s cubic-bezier(.4, 0, .2, 1);
    }
}

@supports not (translate: 0) {
    @media (max-width: 1279px) {
        html:root body .ra .ra-toggle {
            bottom: calc(16px + var(--ra-lift, 0px) + min(var(--ra-lift, 0px), 1px) * 12);
        }

        html:root body .social-bar-fixed {
            bottom: calc(82px + var(--ra-lift, 0px) + min(var(--ra-lift, 0px), 1px) * 12);
        }
    }
}
