.mobile-contact-dock {
    display: none;
}

@media (max-width: 767px) {
    .mobile-contact-dock {
        display: flex;
        position: fixed;
        z-index: 30;
        right: 15px;
        bottom: calc(16px + env(safe-area-inset-bottom));
        transform: translate3d(0, calc(100% + 24px), 0);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: transform .64s cubic-bezier(.22, 1, .36, 1), opacity .48s ease, visibility 0s linear .64s;
        will-change: transform, opacity;
    }

    .mobile-contact-dock.is-visible {
        transform: translate3d(0, 0, 0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: transform .64s cubic-bezier(.22, 1, .36, 1), opacity .48s ease, visibility 0s linear 0s;
    }

    .mobile-contact-dock__trigger {
        min-height: 46px;
        padding: 0 22px;
        border: 1px solid rgba(238, 238, 238, .9);
        border-radius: 999px;
        color: #171919;
        background: rgba(238, 238, 238, .96);
        box-shadow: 0 8px 25px rgba(0, 0, 0, .18);
        font-family: var(--pptelegraf-regular);
        font-size: 12px;
        line-height: 1;
        letter-spacing: .035em;
        text-transform: uppercase;
        transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
        -webkit-tap-highlight-color: transparent;
    }

    .mobile-contact-dock__trigger:active {
        transform: scale(.94);
        box-shadow: 0 3px 10px rgba(0, 0, 0, .2);
    }

    .mobile-contact-dock__trigger:focus-visible {
        outline: 2px solid var(--main-color);
        outline-offset: 3px;
    }
}

@media (hover: hover) and (max-width: 767px) {
    .mobile-contact-dock__trigger:hover {
        background: #ffffff;
        box-shadow: 0 11px 30px rgba(0, 0, 0, .25);
        transform: translateY(-1px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .mobile-contact-dock,
    .mobile-contact-dock__trigger {
        transition-duration: .01ms !important;
    }
}
