    .fab-chat {
        position: fixed;
        right: 22px;
        bottom: 22px;
        z-index: 9998;
        font-family: 'Involve', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }
    @media (max-width: 640px) {
        .fab-chat { right: 14px; bottom: 14px; }
    }
    /* На десктопе (≥1200px) FAB-чат TG/MAX отключён — основной канал на десктопе
       теперь AI-консультант в правой панели. На планшетах/мобиле FAB остаётся. */
    @media (min-width: 1200px) {
        .fab-chat { display: none !important; }
    }

    .fab-chat__main {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background: linear-gradient(135deg, #FBC81E 0%, #FE7600 100%);
        color: #2A241F;
        border: none;
        cursor: pointer;
        box-shadow: 0 6px 20px rgba(251, 200, 30, 0.4);
        display: grid;
        place-items: center;
        transition: transform .25s cubic-bezier(.4,.6,.4,1.2), box-shadow .25s ease;
        position: relative;
    }
    .fab-chat__main:hover,
    .fab-chat__main[aria-expanded="true"] {
        transform: scale(1.06);
        box-shadow: 0 8px 28px rgba(251, 200, 30, 0.55);
    }
    .fab-chat__main svg {
        width: 26px; height: 26px; display: block;
    }
    .fab-chat__main::after {
        content: ""; position: absolute; inset: 0; border-radius: 50%;
        box-shadow: 0 0 0 0 rgba(251,200,30,0.55);
        animation: fab-pulse 2.4s ease-in-out infinite;
        pointer-events: none;
    }
    @keyframes fab-pulse {
        0%   { box-shadow: 0 0 0 0 rgba(251,200,30,0.5); }
        70%  { box-shadow: 0 0 0 18px rgba(251,200,30,0); }
        100% { box-shadow: 0 0 0 0 rgba(251,200,30,0); }
    }
    .fab-chat__main:hover::after,
    .fab-chat__main[aria-expanded="true"]::after { animation: none; }

    .fab-chat__menu {
        position: absolute;
        bottom: calc(100% + 14px);
        right: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
        min-width: 200px;
        padding: 14px;
        background: rgba(29, 29, 29, 0.96);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 14px;
        opacity: 0;
        transform: translateY(8px) scale(0.96);
        transform-origin: bottom right;
        pointer-events: none;
        transition: opacity .18s ease, transform .22s cubic-bezier(.4,.6,.4,1.2);
    }
    /* Open via hover (desktop) — small invisible bridge prevents the
       menu from closing when the cursor crosses the gap. */
    @media (hover: hover) {
        .fab-chat:hover .fab-chat__menu {
            opacity: 1;
            transform: none;
            pointer-events: auto;
        }
        .fab-chat::before {
            content: ""; position: absolute;
            right: 0; bottom: 100%;
            width: 80%; height: 14px;
        }
    }
    /* Open via click (touch / explicit) */
    .fab-chat.is-open .fab-chat__menu {
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }
    .fab-chat__menu[aria-hidden="false"] {
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }

    .fab-chat__label {
        font-size: 11px;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: rgba(255, 233, 166, 0.55);
        font-family: ui-monospace, "SF Mono", monospace;
        padding: 0 4px 6px;
        border-bottom: 1px dashed rgba(255, 233, 166, 0.15);
    }

    .fab-chat__item {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 12px;
        border-radius: 10px;
        text-decoration: none !important;
        color: #FFFFFF;
        font-weight: 600;
        font-size: 15px;
        transition: background .15s ease, transform .15s ease;
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 255, 255, 0.06);
    }
    .fab-chat__item svg {
        width: 22px; height: 22px; flex-shrink: 0; display: block;
    }
    .fab-chat__item--tg svg { color: #229ED9; }
    /* MAX uses its official brand gradient — no color override. */
    .fab-chat__item:hover {
        background: rgba(251, 200, 30, 0.1);
        transform: translateX(-2px);
        border-color: rgba(251, 200, 30, 0.3);
    }
