.ty-floating-contact {
            position: fixed;
            right: 22px;
            bottom: 110px;
            z-index: 999;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 10px;
            margin: 0;
            padding: 0;
        }

        .ty-floating-contact__item {
            position: relative;
            display: flex;
            width: 54px;
            height: 54px;
            flex: 0 0 54px;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            border: 0;
            border-radius: 50%;
            color: #fff;
            text-decoration: none;
            cursor: pointer;
            overflow: visible;
            box-shadow: 0 5px 18px rgba(20, 30, 60, 0.20);
            transition: transform 0.22s ease, box-shadow 0.22s ease;
            -webkit-tap-highlight-color: transparent;
        }

        .ty-floating-contact__item--whatsapp {
            background-color: #25D366;
        }

        .ty-floating-contact__item--zalo {
            background-color: #0068FF;
        }

        @media (hover: hover) and (pointer: fine) {
            .ty-floating-contact__item:hover {
                color: #fff;
                transform: translateY(-2px) scale(1.06);
                box-shadow: 0 8px 22px rgba(20, 30, 60, 0.26);
            }
        }

        .ty-floating-contact__item:active {
            transform: scale(0.97);
        }

        .ty-floating-contact__item:focus {
            outline: 3px solid rgba(46, 47, 122, 0.35);
            outline-offset: 3px;
        }

        .ty-floating-contact__item:focus:not(:focus-visible) {
            outline: none;
        }

        .ty-floating-contact__item:focus-visible {
            outline: 3px solid rgba(46, 47, 122, 0.35);
            outline-offset: 3px;
        }

        .ty-floating-contact__icon {
            display: flex;
            width: 28px;
            height: 28px;
            align-items: center;
            justify-content: center;
            color: #fff;
            line-height: 1;
        }

        .ty-floating-contact__icon svg {
            display: block;
            width: 100%;
            height: 100%;
            fill: currentColor;
        }

        .ty-floating-contact__zalo-wordmark {
            display: block;
            color: #fff;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: -0.45px;
            line-height: 1;
            white-space: nowrap;
        }

        .ty-floating-contact__tooltip {
            position: absolute;
            top: 50%;
            right: calc(100% + 12px);
            display: block;
            padding: 8px 10px;
            border-radius: 4px;
            background: #2E2F7A;
            color: #fff;
            font-family: inherit;
            font-size: 13px;
            font-weight: 500;
            line-height: 1;
            white-space: nowrap;
            pointer-events: none;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-50%) translateX(5px);
            box-shadow: 0 4px 12px rgba(20, 30, 60, 0.16);
            transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
        }

        @media (min-width: 1025px) {
            .ty-floating-contact__item:hover .ty-floating-contact__tooltip,
            .ty-floating-contact__item:focus-visible .ty-floating-contact__tooltip {
                opacity: 1;
                visibility: visible;
                transform: translateY(-50%) translateX(0);
            }
        }

        @media (min-width: 768px) and (max-width: 1024px) {
            .ty-floating-contact {
                right: 16px;
                bottom: 100px;
                gap: 9px;
            }

            .ty-floating-contact__item {
                width: 50px;
                height: 50px;
                flex-basis: 50px;
            }

            .ty-floating-contact__icon {
                width: 26px;
                height: 26px;
            }

            .ty-floating-contact__tooltip {
                display: none;
            }
        }

        @media (max-width: 767px) {
            .ty-floating-contact {
                right: 14px;
                bottom: calc(86px + env(safe-area-inset-bottom, 0px));
                gap: 8px;
            }

            .ty-floating-contact__item {
                width: 48px;
                height: 48px;
                flex-basis: 48px;
            }

            .ty-floating-contact__icon {
                width: 25px;
                height: 25px;
            }

            .ty-floating-contact__zalo-wordmark {
                font-size: 10px;
            }

            .ty-floating-contact__tooltip {
                display: none;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .ty-floating-contact__item,
            .ty-floating-contact__tooltip {
                transition: none;
            }

            .ty-floating-contact__item:hover {
                transform: none;
            }
        }
