/* Стили виджета связи (#ntCommWidget). Вынесены из template-parts/comm-widget.php 11.10.2026: 29 КБ печатались
   инлайном в каждой странице. Подключается <link> на том же месте шаблона — порядок каскада прежний.
   Отступ снизу (настройка) — в коротком инлайн-правиле в шаблоне. */

/* ═══════════════════════════════════════════════════════════════════════════
   COMMUNICATION WIDGET — NEO-BRUTALISM (ТОЧНАЯ КОПИЯ ПРОТОТИПА)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Базовый контейнер */
#ntCommWidget {
    position: fixed !important;
    bottom: var(--nt-cw-bottom, 15%) !important; /* значение из настроек виджета — инлайн в comm-widget.php */
    right: 24px !important;
    z-index: 999999 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 16px !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    pointer-events: none !important; /* Контейнер не перехватывает клики */
}

/* Кликабельные элементы внутри виджета */
#ntCommWidget .nt-cw-fab,
#ntCommWidget .nt-cw-panel {
    pointer-events: auto !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ПАНЕЛЬ
   ═══════════════════════════════════════════════════════════════════════════ */
#ntCommWidget .nt-cw-panel {
    background: #FFFFFF !important;
    border: 3px solid #000000 !important;
    border-radius: 20px !important;
    padding: 24px !important;
    width: 320px !important;
    position: relative !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(16px) scale(0.95) !important;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    box-shadow: none !important;
}

#ntCommWidget.is-open .nt-cw-panel {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1) !important;
    box-shadow: 6px 6px 0px 0px rgba(0,0,0,1) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   КНОПКА ЗАКРЫТИЯ — белый круг с рамкой
   ═══════════════════════════════════════════════════════════════════════════ */
#ntCommWidget .nt-cw-close {
    position: absolute !important;
    top: -12px !important;
    right: -12px !important;
    width: 40px !important;
    height: 40px !important;
    background: #FFFFFF !important;
    border: 2px solid #000000 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    font-weight: bold !important;
    color: #000000 !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    box-shadow: 3px 3px 0px 0px rgba(0,0,0,1) !important;
    padding: 0 !important;
    line-height: 1 !important;
}

#ntCommWidget .nt-cw-close:hover {
    transform: translate(2px, 2px) !important;
    box-shadow: none !important;
    background: #F3F4F6 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ХЕДЕР С ЭКСПЕРТОМ
   ═══════════════════════════════════════════════════════════════════════════ */
#ntCommWidget .nt-cw-header {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
    padding-bottom: 20px !important;
    border-bottom: 2px solid #000000 !important;
}

#ntCommWidget .nt-cw-avatar-wrap {
    position: relative !important;
    flex-shrink: 0 !important;
}

#ntCommWidget .nt-cw-avatar {
    width: 64px !important;
    height: 64px !important;
    border-radius: 16px !important;
    border: 3px solid #000000 !important;
    object-fit: cover !important;
    box-shadow: 3px 3px 0px 0px rgba(0,0,0,1) !important;
}

#ntCommWidget .nt-cw-status {
    position: absolute !important;
    bottom: -4px !important;
    right: -4px !important;
    width: 20px !important;
    height: 20px !important;
    background: #22c55e !important;
    border: 2px solid #000000 !important;
    border-radius: 50% !important;
}

#ntCommWidget .nt-cw-status::before {
    content: '' !important;
    position: absolute !important;
    inset: -4px !important;
    border-radius: 50% !important;
    border: 2px solid #22c55e !important;
    animation: ntCwPulse 2s ease-out infinite !important;
}

@keyframes ntCwPulse {
    0% { transform: scale(1); opacity: 1; }
    100% { transform: scale(1.8); opacity: 0; }
}

#ntCommWidget .nt-cw-name {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.2 !important;
}

#ntCommWidget .nt-cw-role {
    font-size: 13px !important;
    color: #6B7280 !important;
    margin: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ЛЕЙБЛ СЕКЦИИ
   ═══════════════════════════════════════════════════════════════════════════ */
#ntCommWidget .nt-cw-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #9CA3AF !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 12px !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   КНОПКИ МЕССЕНДЖЕРОВ — с рамками и тенями!
   ═══════════════════════════════════════════════════════════════════════════ */
#ntCommWidget .nt-cw-messengers {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}

#ntCommWidget .nt-cw-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 12px 6px !important;
    border-radius: 12px !important;
    border: 2px solid #000000 !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    box-shadow: 3px 3px 0px 0px rgba(0,0,0,1) !important;
    white-space: nowrap !important;
}

#ntCommWidget .nt-cw-btn:hover {
    transform: translate(2px, 2px) !important;
    box-shadow: 1px 1px 0px 0px rgba(0,0,0,1) !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
}

#ntCommWidget .nt-cw-btn:active {
    transform: translate(3px, 3px) !important;
    box-shadow: none !important;
}

#ntCommWidget .nt-cw-btn--tg {
    background: #0088CC !important;
}

#ntCommWidget .nt-cw-btn--max {
    background: #0077FF !important;
}

#ntCommWidget .nt-cw-btn--wa {
    background: #25D366 !important;
}

#ntCommWidget .nt-cw-btn svg {
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
    flex-shrink: 0 !important;
}

#ntCommWidget .nt-cw-btn span {
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   КНОПКА ЗВОНКА — розовая с рамкой и тенью!
   ═══════════════════════════════════════════════════════════════════════════ */
#ntCommWidget .nt-cw-phone {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 16px !important;
    background: #F5A3C7 !important;
    border: 2px solid #000000 !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    box-shadow: 4px 4px 0px 0px rgba(0,0,0,1) !important;
}

#ntCommWidget .nt-cw-phone:hover {
    transform: translate(2px, 2px) !important;
    box-shadow: none !important;
    color: #000000 !important;
    text-decoration: none !important;
}

#ntCommWidget .nt-cw-phone:active {
    transform: translate(4px, 4px) !important;
}

#ntCommWidget .nt-cw-phone svg {
    width: 20px !important;
    height: 20px !important;
    stroke: currentColor !important;
    fill: none !important;
    flex-shrink: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ФУТЕР
   ═══════════════════════════════════════════════════════════════════════════ */
#ntCommWidget .nt-cw-footer {
    margin-top: 20px !important;
    padding-top: 16px !important;
    border-top: 2px dashed #E5E7EB !important;
    text-align: center !important;
}

#ntCommWidget .nt-cw-footer p {
    font-size: 12px !important;
    color: #9CA3AF !important;
    margin: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   FAB КНОПКА — розовая с рамкой и тенью!
   ═══════════════════════════════════════════════════════════════════════════ */
#ntCommWidget .nt-cw-fab {
    position: relative !important;
    width: 64px !important;
    height: 64px !important;
    background: #F5A3C7 !important;
    border: 3px solid #000000 !important;
    border-radius: 18px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.15s ease !important;
    box-shadow: 6px 6px 0px 0px rgba(0,0,0,1) !important;
    padding: 0 !important;
}

#ntCommWidget .nt-cw-fab:hover {
    animation: ntCwWiggle 0.4s ease-in-out !important;
}

#ntCommWidget .nt-cw-fab:active {
    transform: translate(4px, 4px) !important;
    box-shadow: 2px 2px 0px 0px rgba(0,0,0,1) !important;
    animation: none !important;
}

/* Анимация покачивания */
@keyframes ntCwWiggle {
    0%, 100% { transform: rotate(-3deg); }
    25% { transform: rotate(3deg); }
    50% { transform: rotate(-3deg); }
    75% { transform: rotate(3deg); }
}

/* Иконки в FAB */
#ntCommWidget .nt-cw-fab-icon {
    width: 28px !important;
    height: 28px !important;
    stroke: #000000 !important;
    fill: none !important;
    stroke-width: 2.5 !important;
    transition: all 0.3s ease !important;
}

#ntCommWidget .nt-cw-fab-icon--close {
    position: absolute !important;
    opacity: 0 !important;
    transform: scale(0.5) rotate(90deg) !important;
}

#ntCommWidget.is-open .nt-cw-fab-icon--chat {
    opacity: 0 !important;
    transform: scale(0.5) rotate(-90deg) !important;
}

#ntCommWidget.is-open .nt-cw-fab-icon--close {
    opacity: 1 !important;
    transform: scale(1) rotate(0deg) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   БЕЙДЖ — красный с рамкой!
   ═══════════════════════════════════════════════════════════════════════════ */
#ntCommWidget .nt-cw-badge {
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    width: 24px !important;
    height: 24px !important;
    background: #EF4444 !important;
    color: #FFFFFF !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    border: 2px solid #000000 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    line-height: 1 !important;
}

#ntCommWidget.is-open .nt-cw-badge {
    transform: scale(0) !important;
    opacity: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   МОБИЛЬНАЯ АДАПТАЦИЯ
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    #ntCommWidget {
        bottom: 100px !important;
        right: 16px !important;
    }
    
    #ntCommWidget .nt-cw-panel {
        width: calc(100vw - 32px) !important;
        max-width: 320px !important;
    }
    
    #ntCommWidget .nt-cw-fab {
        width: 56px !important;
        height: 56px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   НЕО-РЕДИЗАЙН 03.10.2026 (владелец: «единственный круглый элемент на сайте»).
   Прямые углы везде; мессенджеры — плитки как на /contacts/ (цвет, иконка в углу,
   подпись снизу); шрифт сайта. Кнопка вызова — розовый квадрат с жёсткой тенью.
   ═══════════════════════════════════════════════════════════════════════════ */
#ntCommWidget { font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif !important; }
#ntCommWidget .nt-cw-panel { border: 2px solid #000 !important; border-radius: 0 !important; padding: 22px !important; width: 300px !important; }
#ntCommWidget .nt-cw-close { border-radius: 0 !important; width: 32px !important; height: 32px !important; top: -10px !important; right: -10px !important; }
/* Аватар — круглый, как фото менеджера в форме обратной связи (.nt-cta-neo__ava): прямые углы только у кнопок */
#ntCommWidget .nt-cw-avatar { border-radius: 50% !important; border: 2px solid #000 !important; box-shadow: none !important; width: 58px !important; height: 58px !important; object-position: top !important; background: #2C3DF5 !important; }
#ntCommWidget .nt-cw-status { width: 12px !important; height: 12px !important; border-radius: 50% !important; background: #0B8457 !important; border: 2px solid #fff !important; bottom: 1px !important; right: 1px !important; }
#ntCommWidget .nt-cw-status::before { display: none !important; }
#ntCommWidget .nt-cw-name { font-size: 16px !important; font-weight: 900 !important; }
#ntCommWidget .nt-cw-role { font-weight: 600 !important; color: rgba(33,55,119,.6) !important; }
#ntCommWidget .nt-cw-label { font-weight: 900 !important; letter-spacing: .1em !important; color: rgba(33,55,119,.6) !important; }
#ntCommWidget .nt-cw-messengers { gap: 10px !important; margin-bottom: 14px !important; }
#ntCommWidget .nt-cw-btn { position: relative !important; display: block !important; aspect-ratio: 1 / 1 !important; padding: 8px !important; border-radius: 0 !important; box-shadow: 3px 3px 0 0 #000 !important; }
#ntCommWidget .nt-cw-btn:hover { transform: translate(-2px, -2px) !important; box-shadow: 5px 5px 0 0 #000 !important; }
#ntCommWidget .nt-cw-btn svg { width: 22px !important; height: 22px !important; fill: #fff !important; }
#ntCommWidget .nt-cw-btn span { position: absolute !important; left: 8px !important; bottom: 7px !important; font-size: 9px !important; font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: .05em !important; }
#ntCommWidget .nt-cw-btn--tg { background: #229ED9 !important; }
#ntCommWidget .nt-cw-btn--max { background: #8A63F5 !important; }
#ntCommWidget .nt-cw-btn--wa { background: #25D366 !important; }
#ntCommWidget .nt-cw-phone { border-radius: 0 !important; box-shadow: 3px 3px 0 0 #000 !important; font-weight: 900 !important; font-size: 15px !important; padding: 14px !important; }
#ntCommWidget .nt-cw-footer { border-top: 2px solid #000 !important; }
#ntCommWidget .nt-cw-footer p { font-weight: 700 !important; color: rgba(33,55,119,.6) !important; }
#ntCommWidget .nt-cw-fab { border-radius: 0 !important; border-width: 2px !important; box-shadow: 4px 4px 0 0 #000 !important; }
#ntCommWidget .nt-cw-fab:hover { animation: none !important; transform: translate(-2px, -2px) !important; box-shadow: 6px 6px 0 0 #000 !important; }
#ntCommWidget .nt-cw-badge { border-radius: 0 !important; }
/* 03.10.2026 (владелец): кнопки — плитки 2×2 как в hero /contacts/, звонок — синей плиткой без номера;
   точка «онлайн» — на углу круглого аватара, как в форме обратной связи */
#ntCommWidget .nt-cw-messengers { grid-template-columns: 1fr 1fr !important; gap: 12px !important; margin-bottom: 0 !important; }
#ntCommWidget .nt-cw-btn svg { width: 26px !important; height: 26px !important; }
#ntCommWidget .nt-cw-btn span { font-size: 11px !important; left: 10px !important; bottom: 9px !important; }
#ntCommWidget .nt-cw-btn { padding: 10px !important; }
#ntCommWidget .nt-cw-btn--call { background: #2C3DF5 !important; }
#ntCommWidget .nt-cw-avatar-wrap { width: 58px !important; height: 58px !important; line-height: 0 !important; }
#ntCommWidget .nt-cw-avatar { display: block !important; }
#ntCommWidget .nt-cw-status { right: -2px !important; bottom: -2px !important; }
#ntCommWidget .nt-cw-footer { margin-top: 18px !important; }
/* плитки — миниатюры 84×84, как в hero /contacts/ (владелец: «уменьшаем») */
#ntCommWidget .nt-cw-messengers { grid-template-columns: repeat(2, 84px) !important; justify-content: center !important; gap: 14px !important; }
#ntCommWidget .nt-cw-btn { width: 84px !important; height: 84px !important; aspect-ratio: auto !important; padding: 8px !important; }
#ntCommWidget .nt-cw-btn svg { width: 22px !important; height: 22px !important; }
#ntCommWidget .nt-cw-btn span { font-size: 9px !important; left: 8px !important; bottom: 7px !important; }
/* ещё меньше — 72×72 (владелец 03.10.2026: «ещё меньше чутка») */
#ntCommWidget .nt-cw-messengers { grid-template-columns: repeat(2, 72px) !important; gap: 12px !important; }
#ntCommWidget .nt-cw-btn { width: 72px !important; height: 72px !important; padding: 7px !important; box-shadow: 2px 2px 0 0 #000 !important; }
#ntCommWidget .nt-cw-btn:hover { box-shadow: 4px 4px 0 0 #000 !important; }
#ntCommWidget .nt-cw-btn svg { width: 19px !important; height: 19px !important; }
#ntCommWidget .nt-cw-btn span { font-size: 8px !important; left: 7px !important; bottom: 6px !important; }
/* размером с кнопку вызова (.nt-cw-fab): 64 на десктопе, 56 на телефоне (владелец 03.10.2026) */
#ntCommWidget .nt-cw-messengers { grid-template-columns: repeat(2, 64px) !important; gap: 12px !important; }
#ntCommWidget .nt-cw-btn { width: 64px !important; height: 64px !important; padding: 6px !important; }
#ntCommWidget .nt-cw-btn svg { width: 18px !important; height: 18px !important; }
#ntCommWidget .nt-cw-btn span { font-size: 7.5px !important; left: 6px !important; bottom: 5px !important; letter-spacing: .03em !important; }
@media (max-width: 768px) {
    #ntCommWidget .nt-cw-messengers { grid-template-columns: repeat(2, 56px) !important; }
    #ntCommWidget .nt-cw-btn { width: 56px !important; height: 56px !important; }
    #ntCommWidget .nt-cw-btn span { font-size: 7px !important; }
}
/* === 03.10.2026, финал (владелец: «слева ок, справа не ок») — как блок менеджера в форме обратной связи
   (.nt-cta-neo__mgr / .nt-cta-neo__msgr): круглое фото 58, имя 12.5/800, подпись 12/600, кнопки 46×46
   в один ряд, лого в левом верхнем углу, без подписей. Сначала шли размеры 120/84/72/64 — перекрыты здесь. === */
#ntCommWidget .nt-cw-panel { width: 280px !important; padding: 20px !important; }
#ntCommWidget .nt-cw-header { gap: 14px !important; margin-bottom: 16px !important; padding-bottom: 0 !important; border-bottom: 0 !important; }
#ntCommWidget .nt-cw-name { font-size: 12.5px !important; font-weight: 800 !important; line-height: 1.45 !important; margin: 0 !important; color: #000 !important; }
#ntCommWidget .nt-cw-role { font-size: 12px !important; font-weight: 600 !important; line-height: 1.45 !important; color: rgba(33,55,119,.72) !important; }
#ntCommWidget .nt-cw-label { font-size: 11px !important; font-weight: 900 !important; letter-spacing: .06em !important; color: rgba(33,55,119,.72) !important; margin-bottom: 10px !important; }
#ntCommWidget .nt-cw-messengers { display: flex !important; grid-template-columns: none !important; justify-content: flex-start !important; gap: 12px !important; margin-bottom: 0 !important; }
#ntCommWidget .nt-cw-btn { display: inline-flex !important; align-items: flex-start !important; justify-content: flex-start !important; width: 46px !important; height: 46px !important; padding: 4px !important; box-sizing: border-box !important; box-shadow: 3px 3px 0 0 #000 !important; }
#ntCommWidget .nt-cw-btn:hover { transform: translate(-2px, -2px) !important; box-shadow: 5px 5px 0 0 #000 !important; }
#ntCommWidget .nt-cw-btn svg { width: 24px !important; height: 24px !important; }
#ntCommWidget .nt-cw-btn span { display: none !important; }
#ntCommWidget .nt-cw-footer { margin-top: 16px !important; padding-top: 12px !important; border-top: 0 !important; text-align: left !important; }
#ntCommWidget .nt-cw-footer p { font-size: 11px !important; font-weight: 700 !important; color: rgba(33,55,119,.72) !important; }
@media (max-width: 768px) {
    #ntCommWidget .nt-cw-messengers { grid-template-columns: none !important; }
    #ntCommWidget .nt-cw-btn { width: 46px !important; height: 46px !important; }
}
#ntCommWidget .nt-cw-btn { flex: 0 0 46px !important; min-width: 46px !important; }
/* аватар ровно как .nt-cta-neo__ava: 58px без сжатия; точка 12px + обводка 2 (контент-бокс), left 44 / top 42 */
#ntCommWidget .nt-cw-avatar-wrap { flex: 0 0 58px !important; width: 58px !important; height: 58px !important; }
#ntCommWidget .nt-cw-avatar { width: 58px !important; height: 58px !important; min-width: 58px !important; box-sizing: border-box !important; flex-shrink: 0 !important; }
#ntCommWidget .nt-cw-status { box-sizing: content-box !important; width: 12px !important; height: 12px !important; left: 44px !important; top: 42px !important; right: auto !important; bottom: auto !important; }
/* Пакман на кнопке вызова (владелец 03.10.2026: «символ начала беседы, чтобы открывал рот»).
   Своя простая фигура — чёрный круг с ртом, без персонажей и названия игры. Две половины
   поворачиваются от центра — рот открывается; смотрит влево, на страницу. */
#ntCommWidget .nt-cw-fab-icon--chat { display: block !important; width: 30px !important; height: 30px !important; stroke: none !important; }
#ntCommWidget .nt-cw-pac { position: relative; display: block; width: 30px; height: 30px; }
#ntCommWidget .nt-cw-pac::before, #ntCommWidget .nt-cw-pac::after { content: ""; position: absolute; left: 0; width: 30px; height: 15px; background: #000; }
#ntCommWidget .nt-cw-pac::before { top: 0; border-radius: 15px 15px 0 0; transform-origin: 50% 100%; animation: ntPacTop .7s ease-in-out infinite; }
#ntCommWidget .nt-cw-pac::after { top: 15px; border-radius: 0 0 15px 15px; transform-origin: 50% 0; animation: ntPacBot .7s ease-in-out infinite; }
@keyframes ntPacTop { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(-38deg); } }
@keyframes ntPacBot { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(38deg); } }
@media (prefers-reduced-motion: reduce) {
    #ntCommWidget .nt-cw-pac::before { animation: none; transform: rotate(-30deg); }
    #ntCommWidget .nt-cw-pac::after { animation: none; transform: rotate(30deg); }
}
@media (max-width: 768px) {
    #ntCommWidget .nt-cw-fab-icon--chat, #ntCommWidget .nt-cw-pac { width: 26px !important; height: 26px !important; }
    #ntCommWidget .nt-cw-pac::before, #ntCommWidget .nt-cw-pac::after { width: 26px; height: 13px; }
    #ntCommWidget .nt-cw-pac::before { border-radius: 13px 13px 0 0; }
    #ntCommWidget .nt-cw-pac::after { top: 13px; border-radius: 0 0 13px 13px; }
}
/* === 03.10.2026: открытие через «гибель» пакмана (владелец). Панель вырастает из угла кнопки,
   кнопка уходит, сверху панели — чёрный крестик. === */
#ntCommWidget .nt-cw-panel { position: absolute !important; right: 0 !important; bottom: 0 !important; transform-origin: 100% 100% !important;
    transform: scale(.2) !important; opacity: 0 !important; visibility: hidden !important;
    transition: transform .32s cubic-bezier(.2,.9,.3,1.15), opacity .18s ease, visibility 0s linear .32s !important; }
#ntCommWidget.is-open .nt-cw-panel { transform: scale(1) !important; opacity: 1 !important; visibility: visible !important;
    transition: transform .32s cubic-bezier(.2,.9,.3,1.15), opacity .18s ease, visibility 0s !important; }
#ntCommWidget .nt-cw-fab { transition: transform .2s ease .15s, opacity .2s ease .15s, box-shadow .14s ease !important; }
#ntCommWidget.is-open .nt-cw-fab { transform: scale(0) !important; opacity: 0 !important; pointer-events: none !important; transition: transform .12s ease, opacity .12s ease !important; }
#ntCommWidget .nt-cw-fab-icon--close { display: none !important; }
#ntCommWidget.is-open .nt-cw-fab-icon--chat { opacity: 1 !important; transform: none !important; }
/* крестик — чёрный, без кружка и рамки */
#ntCommWidget .nt-cw-close { top: 8px !important; right: 10px !important; width: 28px !important; height: 28px !important; background: none !important;
    border: 0 !important; border-radius: 0 !important; box-shadow: none !important; font-size: 26px !important; font-weight: 400 !important; color: #000 !important; }
#ntCommWidget .nt-cw-close:hover { transform: none !important; background: none !important; color: #2C3DF5 !important; }
#ntCommWidget .nt-cw-header { padding-right: 24px !important; }
/* «гибель»: рот раскрывается всё шире, пакман схлопывается */
#ntCommWidget.is-dying .nt-cw-pac { animation: ntPacDie .42s ease-in forwards; }
#ntCommWidget.is-dying .nt-cw-pac::before { animation: ntPacDieTop .42s ease-in forwards; }
#ntCommWidget.is-dying .nt-cw-pac::after { animation: ntPacDieBot .42s ease-in forwards; }
@keyframes ntPacDieTop { 0% { transform: rotate(-38deg); } 100% { transform: rotate(-178deg); } }
@keyframes ntPacDieBot { 0% { transform: rotate(38deg); } 100% { transform: rotate(178deg); } }
@keyframes ntPacDie { 0%, 55% { transform: scale(1); opacity: 1; } 100% { transform: scale(.3); opacity: 0; } }
#ntCommWidget.is-dying .nt-cw-fab:hover { transform: none !important; }
/* пакман смотрит вправо (владелец 03.10.2026: «в другую сторону»); отражение на обёртке — не мешает анимации гибели */
#ntCommWidget .nt-cw-fab-icon--chat, #ntCommWidget.is-open .nt-cw-fab-icon--chat { transform: scaleX(-1) !important; }
/* 2×2 «мини драм-машина» (владелец 03.10.2026): пэды 56px, по центру */
#ntCommWidget .nt-cw-messengers { display: grid !important; grid-template-columns: repeat(2, 56px) !important; justify-content: center !important; gap: 10px !important; }
#ntCommWidget .nt-cw-btn { flex: none !important; width: 56px !important; height: 56px !important; min-width: 56px !important; padding: 5px !important; }
#ntCommWidget .nt-cw-btn svg { width: 24px !important; height: 24px !important; }
#ntCommWidget .nt-cw-btn:active { transform: translate(2px, 2px) !important; box-shadow: 1px 1px 0 0 #000 !important; }
@media (max-width: 768px) { #ntCommWidget .nt-cw-messengers { grid-template-columns: repeat(2, 56px) !important; } #ntCommWidget .nt-cw-btn { width: 56px !important; height: 56px !important; } }
/* === Пакман v2 (03.10.2026, владелец: «при гибели он открывается полностью наверх»). Одна фигура:
   conic-gradient с анимируемым углом рта --m. Жуёт — смотрит вправо; гибель — поворот ртом вверх,
   рот раскрывается до 360° и пакман исчезает, как в игре. === */
@property --m { syntax: "<angle>"; inherits: false; initial-value: 60deg; }
#ntCommWidget .nt-cw-fab-icon--chat, #ntCommWidget.is-open .nt-cw-fab-icon--chat { transform: none !important; }
#ntCommWidget .nt-cw-pac::before, #ntCommWidget .nt-cw-pac::after { display: none !important; animation: none !important; }
#ntCommWidget .nt-cw-pac { --m: 60deg; border-radius: 50%; background: conic-gradient(from calc(var(--m) / 2), #000 0 calc(360deg - var(--m)), transparent 0);
    transform: rotate(90deg); animation: ntPacChomp .6s ease-in-out infinite; }
@keyframes ntPacChomp { 0%, 100% { --m: 4deg; } 50% { --m: 80deg; } }
#ntCommWidget.is-dying .nt-cw-pac { animation: ntPacDie2 .76s ease-in forwards !important; }
@keyframes ntPacDie2 { 0% { --m: 60deg; transform: rotate(90deg); } 22% { --m: 40deg; transform: rotate(0deg); } 100% { --m: 360deg; transform: rotate(0deg); } }
@media (prefers-reduced-motion: reduce) { #ntCommWidget .nt-cw-pac { animation: none !important; --m: 60deg; } }
/* строка «WhatsApp не открылся» внутри виджета */
#ntCommWidget .nt-cw-wafail { margin: 12px 0 0 !important; padding: 10px 12px !important; border: 2px solid #000 !important; background: #FFF6DC !important; font-size: 12px !important; font-weight: 700 !important; line-height: 1.45 !important; color: #000 !important; }
#ntCommWidget .nt-cw-wafail[hidden] { display: none !important; }
#ntCommWidget .nt-cw-wafail a { color: #2C3DF5 !important; text-decoration: underline !important; }
/* быстрее: нажал — погиб — панель (владелец 03.10.2026) */
#ntCommWidget.is-dying .nt-cw-pac { animation: ntPacDie2 .34s ease-in forwards !important; }
#ntCommWidget .nt-cw-panel { transition: transform .2s cubic-bezier(.2,.9,.3,1.1), opacity .12s ease, visibility 0s linear .2s !important; }
#ntCommWidget.is-open .nt-cw-panel { transition: transform .2s cubic-bezier(.2,.9,.3,1.1), opacity .12s ease, visibility 0s !important; }
/* крупнее, чтобы не напрягать глаза (владелец 03.10.2026): панель 320, аватар 72, имя 16 */
#ntCommWidget .nt-cw-panel { width: 320px !important; padding: 24px !important; }
#ntCommWidget .nt-cw-avatar-wrap { flex: 0 0 72px !important; width: 72px !important; height: 72px !important; }
#ntCommWidget .nt-cw-avatar { width: 72px !important; height: 72px !important; min-width: 72px !important; }
#ntCommWidget .nt-cw-status { width: 14px !important; height: 14px !important; left: 56px !important; top: 54px !important; }
#ntCommWidget .nt-cw-name { font-size: 16px !important; line-height: 1.3 !important; }
#ntCommWidget .nt-cw-role { font-size: 13px !important; }
#ntCommWidget .nt-cw-label { font-size: 12px !important; }
#ntCommWidget .nt-cw-footer p { font-size: 12px !important; }
#ntCommWidget .nt-cw-messengers { grid-template-columns: repeat(2, 64px) !important; gap: 12px !important; }
#ntCommWidget .nt-cw-btn { width: 64px !important; height: 64px !important; min-width: 64px !important; }
#ntCommWidget .nt-cw-btn svg { width: 26px !important; height: 26px !important; }
@media (max-width: 768px) { #ntCommWidget .nt-cw-panel { width: calc(100vw - 32px) !important; max-width: 320px !important; } }
/* телефон: кнопка ниже — 16px над нижней панелью браузера (владелец 04.10.2026: «опустить гармонично») */
@media (max-width: 768px) { #ntCommWidget { bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important; right: 16px !important; } }

/* 05.10.2026: в нерабочее время (до 9:00, после 20:00, воскресенье по МСК) точка «на связи» серая — зелёная бы врала.
   Форму «оставьте номер» в виджете сделали и в тот же день убрали (владелец: «лишено смысла — у нас нет прямой связи
   через виджет, с тем же успехом можно настроить автоответы в мессенджерах»). */
#ntCommWidget.is-closed .nt-cw-status { background: #9AA0A6 !important; }
/* панель никогда не выше экрана: верх с аватаром не срезается */
#ntCommWidget .nt-cw-panel { max-height: calc(100vh - 32px) !important; overflow-y: auto !important; }
