/* GRANUM MAX CONTACT V66 */

/*
Почту на лендинге убираем сразу,
ещё до выполнения JavaScript.
*/

body.home a[href^="mailto:"],
body.front-page a[href^="mailto:"],
body.page-template-front-page a[href^="mailto:"] {
    display:
        none !important;

    visibility:
        hidden !important;

    opacity:
        0 !important;

    pointer-events:
        none !important;
}

/*
Фиксированный блок консультации.
*/

.granum-max-contact-v66 {
    position:
        fixed;

    z-index:
        99990;

    right:
        max(
            20px,
            env(safe-area-inset-right)
        );

    bottom:
        max(
            22px,
            calc(
                env(safe-area-inset-bottom)
                + 14px
            )
        );

    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    gap:
        11px;

    max-width:
        calc(100vw - 32px);

    font-family:
        inherit;

    pointer-events:
        none;
}

.granum-max-contact-v66__label {
    display:
        inline-flex;

    align-items:
        center;

    min-height:
        46px;

    padding:
        0 17px;

    border:
        1px solid
        rgba(99, 79, 156, 0.14);

    border-radius:
        999px;

    color:
        #33274c;

    background:
        rgba(255, 255, 255, 0.94);

    box-shadow:
        0 12px 32px
        rgba(42, 29, 68, 0.12);

    font-size:
        14px;

    font-weight:
        720;

    line-height:
        1;

    letter-spacing:
        -0.01em;

    white-space:
        nowrap;

    pointer-events:
        none;
}

.granum-max-contact-v66__button {
    position:
        relative;

    display:
        inline-flex;

    flex:
        0 0 auto;

    align-items:
        center;

    justify-content:
        center;

    width:
        58px;

    height:
        58px;

    padding:
        12px;

    border:
        0;

    border-radius:
        19px;

    color:
        #ffffff;

    background:
        linear-gradient(
            135deg,
            #471aff 0%,
            #6e1aff 48%,
            #9500ff 100%
        );

    box-shadow:
        0 15px 38px
        rgba(71, 26, 255, 0.30);

    text-decoration:
        none;

    transform:
        translateZ(0);

    transition:
        transform 180ms ease,
        box-shadow 180ms ease;

    pointer-events:
        auto;

    -webkit-tap-highlight-color:
        transparent;
}

.granum-max-contact-v66__button::before {
    content:
        "";

    position:
        absolute;

    inset:
        1px;

    border:
        1px solid
        rgba(255, 255, 255, 0.28);

    border-radius:
        inherit;

    pointer-events:
        none;
}

.granum-max-contact-v66__button:hover {
    transform:
        translate3d(
            0,
            -3px,
            0
        )
        scale(1.035);

    box-shadow:
        0 19px 46px
        rgba(71, 26, 255, 0.38);
}

.granum-max-contact-v66__button:active {
    transform:
        translate3d(
            0,
            0,
            0
        )
        scale(0.97);
}

.granum-max-contact-v66__button:focus-visible {
    outline:
        3px solid
        rgba(71, 26, 255, 0.24);

    outline-offset:
        4px;
}

.granum-max-contact-v66__button img {
    display:
        block;

    width:
        100%;

    height:
        100%;

    object-fit:
        contain;

    filter:
        drop-shadow(
            0 2px 5px
            rgba(13, 0, 26, 0.16)
        );

    pointer-events:
        none;
}

.granum-max-contact-v66__screen-reader {
    position:
        absolute !important;

    width:
        1px !important;

    height:
        1px !important;

    padding:
        0 !important;

    margin:
        -1px !important;

    overflow:
        hidden !important;

    clip:
        rect(
            0,
            0,
            0,
            0
        ) !important;

    white-space:
        nowrap !important;

    border:
        0 !important;
}

@media (max-width: 767px) {
    .granum-max-contact-v66 {
        right:
            max(
                14px,
                env(safe-area-inset-right)
            );

        bottom:
            max(
                15px,
                calc(
                    env(safe-area-inset-bottom)
                    + 9px
                )
            );

        gap:
            8px;
    }

    .granum-max-contact-v66__label {
        min-height:
            41px;

        padding:
            0 13px;

        font-size:
            12px;

        box-shadow:
            0 8px 24px
            rgba(42, 29, 68, 0.11);
    }

    .granum-max-contact-v66__button {
        width:
            52px;

        height:
            52px;

        padding:
            11px;

        border-radius:
            17px;
    }
}

@media (max-width: 370px) {
    .granum-max-contact-v66__label {
        max-width:
            145px;

        overflow:
            hidden;

        text-overflow:
            ellipsis;
    }
}

@media (prefers-reduced-motion: reduce) {
    .granum-max-contact-v66__button {
        transition:
            none;
    }
}
