        @keyframes aiGlow {
            0%, 100% { box-shadow: 0 0 0 1px #7c3aed, 0 0 12px rgba(124,58,237,0.3); }
            50% { box-shadow: 0 0 0 1px #a78bfa, 0 0 20px rgba(167,139,250,0.5); }
        }
        @keyframes aiSlideUp {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }
        @keyframes typingDot {
            0%, 60%, 100% { opacity: 0.3; transform: scale(0.8); }
            30% { opacity: 1; transform: scale(1); }
        }
        .messenger-ai-panel { animation: aiSlideUp 0.3s ease; }
        .messenger-widget {
            position: fixed !important;
            z-index: 9999 !important;
            user-select: none;
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
        }

        .messenger-widget * {
            box-sizing: border-box;
        }

        .messenger-widget .messenger-container {
            position: absolute;
            bottom: 0;
            right: 0;
            width: 360px;
            max-height: min(700px, calc(100vh - 120px - 56px));
            background: #1e1e1e;
            border-radius: 16px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
            display: flex;
            flex-direction: column;
            overflow: hidden;
            border: 1px solid #333;
            color: #e0e0e0;
            resize: both;
            min-width: 360px;
            min-height: 400px;
            max-width: min(760px, calc(100vw - 24px));
            max-height: calc(100vh - 120px);
        }

        [data-theme="light"] .messenger-widget .messenger-container {
            background: #ffffff;
            border: 1px solid #ddd;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
            color: #222;
        }

        .messenger-drag-area {
            cursor: move;
            background: #2a2a2a;
            border-bottom: 1px solid #333;
            flex-shrink: 0;
        }

        [data-theme="light"] .messenger-drag-area {
            background: #f0f0f0;
            border-bottom: 1px solid #ddd;
        }

        .messenger-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 8px 12px;
            height: 40px;
        }

        .messenger-header-left {
            display: flex;
            align-items: center;
            gap: 8px;
            font-weight: 600;
            font-size: 14px;
        }

        .messenger-header-left i {
            color: #00d4ff;
            font-size: 16px;
        }

        [data-theme="light"] .messenger-header-left i {
            color: #007acc;
        }

        .messenger-header-actions {
            display: flex;
            gap: 6px;
        }

        .messenger-header-actions button {
            background: none;
            border: none;
            color: #aaa;
            cursor: pointer;
            width: 28px;
            height: 28px;
            border-radius: 6px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            transition: all 0.2s;
        }

        .messenger-header-actions button:hover {
            background: #3a3a3a;
            color: #fff;
        }

        [data-theme="light"] .messenger-header-actions button:hover {
            background: #e0e0e0;
            color: #000;
        }

        .messenger-drag-handle {
            cursor: move;
            display: inline-block;
        }

        /* ===== Лейбл режима AI-агента над плавающей кнопкой ===== */
        /* Скрыт по умолчанию. Показывается при :hover (ПК) и при активном касании на тач-устройствах. */
        .msg-fab-mode-tip {
            position: absolute;
            bottom: calc(100% + 8px);
            left: 50%;
            transform: translateX(-50%) translateY(4px);
            background: rgba(15, 15, 25, 0.95);
            color: #fff;
            font-size: 12px;
            font-weight: 600;
            line-height: 1.3;
            white-space: nowrap;
            padding: 6px 10px;
            border-radius: 8px;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.18s ease, transform 0.18s ease;
            z-index: 10000;
            max-width: 200px;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .msg-fab-mode-tip::after {
            content: '';
            position: absolute;
            top: 100%;
            left: 50%;
            margin-left: -5px;
            border: 5px solid transparent;
            border-top-color: rgba(15, 15, 25, 0.95);
        }
        [data-theme="light"] .msg-fab-mode-tip {
            background: #1a1a2e;
            color: #fff;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
        }
        [data-theme="light"] .msg-fab-mode-tip::after {
            border-top-color: #1a1a2e;
        }
        /* ПК: наведение */
        .messenger-drag-handle:hover .msg-fab-mode-tip,
        .msg-fab-mode-tip.visible {
            opacity: 1;
            transform: translateX(-50%) translateY(0);
        }
        /* Мобильные: показывать только при активном касании кнопки (drag уже идёт или палец зажат) */
        .messenger-drag-handle.fab-touching .msg-fab-mode-tip {
            opacity: 1;
            transform: translateX(-50%) translateY(0);
        }
        .messenger-drag-handle { position: relative; }

        .messenger-toggle {
            width: 56px;
            height: 56px;
            border-radius: 50%;
            background: #00d4ff;
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-shadow: 0 4px 15px rgba(0, 212, 255, 0.4);
            font-size: 24px;
            transition: transform 0.2s;
            position: relative;
            border: none;
        }

        [data-theme="light"] .messenger-toggle {
            background: #007acc;
            box-shadow: 0 4px 15px rgba(0, 122, 204, 0.3);
        }

        .messenger-toggle:hover {
            transform: scale(1.05);
        }

        /* ===== Статус-состояния кнопки сообщений (режим AI-консультанта) ===== */
        /* state 0 — агент выключен: серый + дыхание */
        .messenger-toggle.msg-disabled {
            background: #8e8e93;
            box-shadow: 0 4px 15px rgba(142, 142, 147, 0.4);
            animation: messengerBreathe 3s ease-in-out infinite;
        }
        [data-theme="light"] .messenger-toggle.msg-disabled {
            background: #8e8e93;
            box-shadow: 0 4px 15px rgba(142, 142, 147, 0.3);
        }
        .messenger-toggle.msg-disabled .messenger-unread-badge {
            display: none !important;
        }
        @keyframes messengerBreathe {
            0%, 100% { opacity: 0.6; box-shadow: 0 0 0 0 rgba(142, 142, 147, 0); }
            50% { opacity: 1; box-shadow: 0 0 15px 0 rgba(142, 142, 147, 0.5); }
        }

        /* state 1 — отвечает на входящие: синий + кольца-радар */
        .messenger-toggle.msg-reply {
            background: #007aff;
            box-shadow: 0 4px 15px rgba(0, 122, 255, 0.45);
        }
        [data-theme="light"] .messenger-toggle.msg-reply {
            background: #007aff;
        }
        .messenger-toggle.msg-reply::before,
        .messenger-toggle.msg-reply::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100%;
            height: 100%;
            border-radius: 50%;
            border: 2px solid #007aff;
            animation: messengerRadar 2s infinite;
            z-index: -1;
        }
        .messenger-toggle.msg-reply::after {
            animation-delay: 1s;
        }
        @keyframes messengerRadar {
            0% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
            100% { transform: translate(-50%, -50%) scale(1.85); opacity: 0; }
        }
        /* Бейдж в режиме msg-reply управляется JS: показывается только при наличии непрочитанных.
           Нет display:flex !important — при 0 бейдж скрыт. */

        /* state 2 — начинает диалог сам: зелёный + тряска + оранжевый бейдж */
        .messenger-toggle.msg-init {
            background: #34c759;
            box-shadow: 0 4px 15px rgba(52, 199, 89, 0.45);
            animation: messengerShake 1.5s ease-in-out infinite;
        }
        [data-theme="light"] .messenger-toggle.msg-init {
            background: #34c759;
        }
        @keyframes messengerShake {
            0%, 100% { transform: rotate(0deg); }
            20% { transform: rotate(-15deg); }
            40% { transform: rotate(15deg); }
            60% { transform: rotate(-10deg); }
            80% { transform: rotate(10deg); }
        }
        .messenger-toggle.msg-init .messenger-unread-badge {
            display: flex !important;
            background: #ff9500;
            animation: messengerBadgeBounce 1.5s ease-in-out infinite;
        }
        @keyframes messengerBadgeBounce {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.2); }
        }

        .messenger-unread-badge {
            position: absolute;
            top: -5px;
            right: -5px;
            background: #ff4757;
            color: white;
            border-radius: 50%;
            min-width: 22px;
            height: 22px;
            font-size: 12px;
            font-weight: bold;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 4px;
            border: 2px solid #1e1e1e;
        }
        .messenger-unread-badge.pulse {
            animation: badgePulse 0.5s ease-in-out 3;
        }
        @keyframes badgePulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.4); background: #ff6b6b; }
        }

        [data-theme="light"] .messenger-unread-badge {
            border-color: #ffffff;
        }

        .messenger-mini-tracker {
            position: absolute;
            bottom: 70px;
            right: 0;
            background: #2a2a2a;
            border-radius: 40px;
            padding: 6px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
            border: 1px solid #444;
            cursor: pointer;
            min-width: 180px;
            max-width: 250px;
            animation: slideIn 0.3s ease;
        }

        [data-theme="light"] .messenger-mini-tracker {
            background: #ffffff;
            border: 1px solid #ddd;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        }

        .mini-tracker-content {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .mini-tracker-image {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            object-fit: cover;
            border: 2px solid #00d4ff;
        }

        .mini-tracker-info {
            flex: 1;
            min-width: 0;
        }

        .mini-tracker-title {
            font-size: 13px;
            font-weight: 600;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            color: #fff;
        }

        [data-theme="light"] .mini-tracker-title {
            color: #222;
        }

        .mini-tracker-price {
            font-size: 11px;
            color: #00d4ff;
            font-weight: 600;
        }

        [data-theme="light"] .mini-tracker-price {
            color: #007acc;
        }

        .messenger-tracking-panel {
            background: #252525;
            border-bottom: 1px solid #333;
            padding: 10px;
            flex-shrink: 0;
        }

        [data-theme="light"] .messenger-tracking-panel {
            background: #f5f5f5;
            border-bottom: 1px solid #ddd;
        }

        .tracking-header {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 12px;
            color: #aaa;
            margin-bottom: 8px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .tracking-content {
            max-height: 150px;
            overflow-y: auto;
        }

        .tracking-item {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 8px;
            background: #333;
            border-radius: 8px;
            margin-bottom: 6px;
        }

        [data-theme="light"] .tracking-item {
            background: #e9e9e9;
        }

        .tracking-item-image {
            width: 60px;
            height: 60px;
            border-radius: 6px;
            object-fit: cover;
            flex-shrink: 0;
        }

        .tracking-item-info {
            flex: 1;
            min-width: 0;
        }

        .tracking-item-title {
            font-size: 13px;
            font-weight: 600;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            color: #fff;
        }

        [data-theme="light"] .tracking-item-title {
            color: #222;
        }

        .tracking-item-price {
            font-size: 11px;
            color: #00d4ff;
            margin-top: 2px;
        }

        .tracking-empty {
            text-align: center;
            color: #888;
            font-size: 13px;
            padding: 20px 0;
        }

        .tracking-write-btn {
            background: none;
            border: 1px solid #00d4ff;
            color: #00d4ff;
            border-radius: 14px;
            padding: 4px 10px;
            font-size: 11px;
            cursor: pointer;
            white-space: nowrap;
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            transition: all 0.2s;
        }
        .tracking-write-btn:hover {
            background: #00d4ff;
            color: #000;
        }
        [data-theme="light"] .tracking-write-btn {
            border-color: #007acc;
            color: #007acc;
        }
        [data-theme="light"] .tracking-write-btn:hover {
            background: #007acc;
            color: #fff;
        }
        .guest-unread-badge {
            background: #ff4444;
            color: white;
            border-radius: 50%;
            padding: 1px 5px;
            font-size: 10px;
            font-weight: bold;
            line-height: 1.4;
            min-width: 16px;
            text-align: center;
            display: inline-block;
        }

        .tracking-item-fading {
            opacity: 0.4;
            filter: grayscale(1);
            transition: opacity 2s ease;
            pointer-events: none;
        }

        .chat-tracking-item-fading {
            opacity: 0.4;
            filter: grayscale(1);
            transition: opacity 2s ease;
            pointer-events: none;
        }

        .messenger-conversations-list {
            flex: 1;
            overflow-y: auto;
            padding: 10px;
            background: #1e1e1e;
        }

        [data-theme="light"] .messenger-conversations-list {
            background: #ffffff;
        }

        .messenger-loading {
            text-align: center;
            color: #888;
            padding: 30px;
            font-size: 14px;
        }

        .messenger-conversation-item {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 10px;
            border-radius: 8px;
            cursor: pointer;
            margin-bottom: 4px;
            background: #2a2a2a;
            border: 1px solid #333;
            transition: background 0.2s;
        }

        [data-theme="light"] .messenger-conversation-item {
            background: #f8f8f8;
            border: 1px solid #eaeaea;
        }

        .messenger-conversation-item:hover {
            background: #333;
        }

        [data-theme="light"] .messenger-conversation-item:hover {
            background: #f0f0f0;
        }

        .messenger-conversation-item.unread {
            border-left: 3px solid #00d4ff;
            background: #2d2d2d;
        }

        [data-theme="light"] .messenger-conversation-item.unread {
            background: #f0f8ff;
            border-left-color: #007acc;
        }

        /* Диалог с неподтверждённым заказом — мигает, пока продавец не подтвердит */
        @keyframes conv-order-blink {
            0%, 100% { background: #2d2d2d; border-left-color: #ff9800; box-shadow: inset 3px 0 0 #ff9800; }
            50% { background: rgba(255, 152, 0, 0.18); border-left-color: #ffb84d; box-shadow: inset 3px 0 0 #ffb84d; }
        }
        @keyframes conv-order-blink-light {
            0%, 100% { background: #fff7e6; border-left-color: #ff9800; box-shadow: inset 3px 0 0 #ff9800; }
            50% { background: #ffe4b3; border-left-color: #ffb84d; box-shadow: inset 3px 0 0 #ffb84d; }
        }
        [data-theme="dark"] .messenger-conversation-item.order-pending-blink {
            animation: conv-order-blink 2s ease-in-out infinite;
        }
        .messenger-conversation-item.order-pending-blink {
            animation: conv-order-blink 2s ease-in-out infinite;
        }
        .order-pending-badge {
            display: inline-flex;
            align-items: center;
            gap: 3px;
            position: absolute;
            top: 6px;
            right: 6px;
            background: #ff9800;
            color: #fff;
            font-size: 10px;
            font-weight: 700;
            padding: 2px 6px;
            border-radius: 10px;
            line-height: 1;
            animation: conv-order-badge-pulse 1.6s ease-in-out infinite;
            z-index: 2;
        }
        @keyframes conv-order-badge-pulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.12); }
        }
        .messenger-conversation-item { position: relative; }

        .messenger-conversation-avatar {
            width: 48px;
            height: 48px;
            border-radius: 50%;
            object-fit: cover;
            border: 2px solid #00d4ff;
        }

        [data-theme="light"] .messenger-conversation-avatar {
            border-color: #007acc;
        }

        .messenger-conversation-info {
            flex: 1;
            min-width: 0;
        }

        .messenger-conversation-name {
            font-weight: 600;
            font-size: 14px;
            margin-bottom: 4px;
            color: #fff;
        }

        [data-theme="light"] .messenger-conversation-name {
            color: #222;
        }

        .messenger-conversation-preview {
            font-size: 12px;
            color: #aaa;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .messenger-conversation-preview .typing-in-conversation {
            color: var(--primary-color, #a78bfa);
            display: inline-flex;
            align-items: center;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            max-width: 100%;
        }
        @keyframes typing-pulse {
            0%, 100% { opacity: 0.55; }
            50% { opacity: 1; }
        }

        .messenger-conversation-time {
            font-size: 10px;
            color: #777;
            margin-top: 4px;
        }

        .messenger-unread-count {
            background: #ff4757;
            color: white;
            border-radius: 12px;
            padding: 2px 6px;
            font-size: 11px;
            font-weight: bold;
            min-width: 20px;
            text-align: center;
        }

        .messenger-active-chat {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            background: #1e1e1e;
        }

        [data-theme="light"] .messenger-active-chat {
            background: #ffffff;
        }

        .messenger-chat-header {
            padding: 10px 12px;
            background: #2a2a2a;
            border-bottom: 1px solid #333;
            display: flex;
            align-items: center;
            gap: 10px;
            flex-shrink: 0;
        }

        [data-theme="light"] .messenger-chat-header {
            background: #f5f5f5;
            border-bottom: 1px solid #ddd;
        }

        .messenger-back-btn {
            background: none;
            border: none;
            color: #aaa;
            font-size: 16px;
            cursor: pointer;
            width: 30px;
            height: 30px;
            border-radius: 6px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .messenger-back-btn:hover {
            background: #3a3a3a;
            color: #fff;
        }

        [data-theme="light"] .messenger-back-btn:hover {
            background: #e0e0e0;
            color: #000;
        }

        .messenger-chat-user-info {
            flex: 1;
            min-width: 0;
        }

        .messenger-chat-user-name {
            font-weight: 600;
            font-size: 14px;
            color: #fff;
        }

        [data-theme="light"] .messenger-chat-user-name {
            color: #222;
        }

        .messenger-chat-user-status {
            font-size: 11px;
            color: #888;
        }

        .messenger-chat-track-toggle {
            background: none;
            border: none;
            color: #aaa;
            cursor: pointer;
            width: 30px;
            height: 30px;
            border-radius: 6px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 16px;
        }

        .messenger-chat-track-toggle.active {
            color: #00d4ff;
            background: #333;
        }

        [data-theme="light"] .messenger-chat-track-toggle.active {
            color: #007acc;
            background: #e0e0e0;
        }

        .product-cart-btn {
            position: absolute;
            bottom: 10px;
            right: 10px;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: white;
            border: 2px solid #6366f1;
            color: #6366f1;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 18px;
            transition: all 0.2s;
            box-shadow: 0 2px 8px rgba(99, 102, 241, 0.2);
            z-index: 10;
        }

        .product-cart-btn:hover {
            background: #6366f1;
            color: white;
            transform: scale(1.1);
            box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
        }

        .product-cart-btn.active {
            background: #10b981;
            border-color: #10b981;
            color: white;
        }

        .product-cart-btn.active:hover {
            background: #059669;
            border-color: #059669;
        }

        [data-theme="dark"] .product-cart-btn {
            background: #1e293b;
            border-color: #818cf8;
            color: #818cf8;
            box-shadow: 0 2px 8px rgba(129, 140, 248, 0.2);
        }

        [data-theme="dark"] .product-cart-btn:hover {
            background: #818cf8;
            color: #0f172a;
        }

        [data-theme="dark"] .product-cart-btn.active {
            background: #10b981;
            border-color: #10b981;
            color: white;
        }

        @media (max-width: 768px) {
            .product-cart-btn {
                width: 36px;
                height: 36px;
                font-size: 16px;
                bottom: 8px;
                right: 8px;
            }
        }

        /* ЕДИНАЯ модалка уведомлений: по центру внизу экрана (2026-10-23).
           Раньше здесь стояло bottom:-74px — пузырь уезжал за нижний край и был не виден,
           поэтому в 2026-10-18 добавили боковой тост в правом нижнем углу. Боковой тост
           удалён из кода, пузырь снова показывается по центру снизу. */
        .bubble-notification {
            position: fixed;
            bottom: 90px;
            left: 50%;
            transform: translateX(-50%) translateY(20px);
            background: rgba(0, 212, 255, 0.08);
            color: #fff;
            padding: 10px 20px;
            border-radius: 12px;
            z-index: 100001;
            opacity: 0;
            transition: opacity 0.4s ease, transform 0.4s ease;
            font-weight: 500;
            font-size: 0.9rem;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: none;
            text-align: center;
            max-width: min(520px, calc(100vw - 32px));
            line-height: 1.4;
            word-break: break-word;
        }

        .bubble-notification.show {
            opacity: 1;
            transform: translateX(-50%) translateY(0);
        }

        .messenger-chat-tracking {
            background: #252525;
            border-bottom: 1px solid #333;
            padding: 10px;
            max-height: 200px;
            overflow-y: auto;
            flex-shrink: 0;
        }

        [data-theme="light"] .messenger-chat-tracking {
            background: #f5f5f5;
            border-bottom: 1px solid #ddd;
        }

        .chat-tracking-products {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .chat-tracking-item {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 8px;
            background: #333;
            border-radius: 8px;
        }

        [data-theme="light"] .chat-tracking-item {
            background: #e9e9e9;
        }

        .chat-tracking-item-image {
            width: 50px;
            height: 50px;
            border-radius: 6px;
            object-fit: cover;
            cursor: pointer;
        }

        .chat-tracking-item-info {
            flex: 1;
            min-width: 0;
        }

        .chat-tracking-item-title {
            font-size: 13px;
            font-weight: 600;
            color: #fff;
            cursor: pointer;
        }

        [data-theme="light"] .chat-tracking-item-title {
            color: #222;
        }

        .chat-tracking-item-title:hover {
            color: #00d4ff;
        }

        .chat-tracking-item-price {
            font-size: 12px;
            color: #00d4ff;
            margin-top: 2px;
            font-weight: 600;
        }

        .chat-tracking-badge {
            font-size: 10px;
            color: #888;
            margin-left: 4px;
        }

        .messenger-messages {
            flex: 1;
            overflow-y: auto;
            padding: 15px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            background: #1e1e1e;
        }

        [data-theme="light"] .messenger-messages {
            background: #ffffff;
        }

        .messenger-message {
            max-width: 80%;
            padding: 8px 12px;
            border-radius: 12px;
            position: relative;
            word-wrap: break-word;
            font-size: 13px;
            line-height: 1.4;
        }

        .messenger-message.incoming {
            align-self: flex-start;
            background: #2a2a2a;
            border: 1px solid #333;
            color: #fff;
        }

        [data-theme="light"] .messenger-message.incoming {
            background: #f0f0f0;
            border: 1px solid #ddd;
            color: #222;
        }

        .messenger-message.outgoing {
            align-self: flex-end;
            background: #8787874d;
            color: #fff;
        }

        [data-theme="light"] .messenger-message.outgoing {
            background: #f0f0f0;
            border: 1px solid #ddd;
            color: #222;
        }

        /* Кнопка удаления конкретного сообщения (как на экране /messages) */
        .msg-delete-btn {
            position: absolute;
            top: 6px;
            right: 6px;
            display: none;
            align-items: center;
            justify-content: center;
            width: 22px;
            height: 22px;
            border: none;
            border-radius: 50%;
            background: rgba(255, 68, 68, 0.15);
            color: #ff5555;
            font-size: 11px;
            cursor: pointer;
            padding: 0;
            line-height: 1;
            z-index: 3;
            transition: background 0.15s, color 0.15s;
        }
        .messenger-message:hover .msg-delete-btn,
        .messenger-message:focus-within .msg-delete-btn {
            display: inline-flex;
        }
        .msg-delete-btn:hover {
            background: #ff4444;
            color: #fff;
        }
        [data-theme="light"] .msg-delete-btn {
            background: rgba(255, 68, 68, 0.12);
        }

        /* Кнопка удаления диалога в списке модалки */
        .conv-delete-btn {
            position: absolute;
            top: 8px;
            right: 8px;
            display: none;
            align-items: center;
            justify-content: center;
            width: 24px;
            height: 24px;
            border: none;
            border-radius: 50%;
            background: rgba(255, 68, 68, 0.15);
            color: #ff5555;
            font-size: 12px;
            cursor: pointer;
            padding: 0;
            line-height: 1;
            z-index: 3;
            transition: background 0.15s, color 0.15s;
        }
        .messenger-conversation-item:hover .conv-delete-btn {
            display: inline-flex;
        }
        .conv-delete-btn:hover {
            background: #ff4444;
            color: #fff;
        }
        /* под кнопкой удаления диалога бейдж заказа не должен наползать */
        .messenger-conversation-item .order-pending-badge { right: 36px; }
        /* кликабельная область кнопки удаления диалога отключает открытие чата */
        .messenger-conversation-item .conv-delete-btn i { pointer-events: none; }
        .messenger-message .msg-delete-btn i { pointer-events: none; }

        .messenger-message-image {
            max-width: 100%;
            max-height: 200px;
            border-radius: 8px;
            margin-bottom: 6px;
            cursor: pointer;
        }

        .messenger-message.modal-order-message-wrap {
            max-width: 100%;
            width: calc(100% - 6px);
            align-self: stretch;
            box-sizing: border-box;
        }
        .messenger-message.modal-order-message-wrap .messenger-message-content[style*="display:none"] {
            display: none !important;
        }
        .modal-order-message {
            box-sizing: border-box;
            width: 100%;
            min-width: 0;
            line-height: 1.4;
        }
        .modal-order-message img {
            max-width: 100%;
        }
        .modal-order-message .order-icn,
        .modal-order-message .order-head-col {
            flex-shrink: 0;
        }
        /* Не даём шапке заказа и строкам схлопываться в столбик */
        .modal-order-message .order-head-row {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: nowrap;
            width: 100%;
        }
        .modal-order-message .order-head-title {
            flex: 1 1 auto;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .modal-order-message .order-head-status {
            flex-shrink: 0;
            margin-left: auto;
        }
        .modal-order-message .order-item-row {
            display: flex;
            gap: 10px;
            align-items: flex-start;
            width: 100%;
        }
        .modal-order-message .order-item-info {
            flex: 1 1 auto;
            min-width: 0;
        }
        .modal-order-message .order-item-line {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 8px;
            width: 100%;
        }
        .modal-order-message .order-item-meta {
            display: flex;
            justify-content: space-between;
            font-size: 11px;
            color: #888;
            margin-top: 3px;
            gap: 8px;
        }
        .order-confirm-sale-btn {
            transition: all 0.2s;
        }
        .order-confirm-sale-btn:hover {
            filter: brightness(1.08);
            transform: translateY(-1px);
        }

        .messenger-message-time {
            font-size: 9px;
            opacity: 0.7;
            text-align: right;
            margin-top: 4px;
        }

        .messenger-message-sender {
            font-size: 10px;
            opacity: 0.6;
            margin-bottom: 2px;
            font-weight: 500;
        }

        .messenger-chat-actions {
            display: flex;
            gap: 4px;
            align-items: center;
        }
        .messenger-chat-actions button {
            background: none;
            border: none;
            color: #888;
            cursor: pointer;
            padding: 4px 6px;
            border-radius: 6px;
            font-size: 14px;
            transition: all 0.2s;
        }
        .messenger-chat-actions button:hover {
            background: #333;
            color: #fff;
        }
        [data-theme="light"] .messenger-chat-actions button:hover {
            background: #e0e0e0;
            color: #000;
        }
        .messenger-chat-actions .messenger-delete-selected {
            color: #ff4444;
        }
        .messenger-chat-actions .messenger-delete-selected:hover {
            background: #442222;
            color: #ff6666;
        }
        .messenger-message.select-mode {
            cursor: pointer;
        }
        .messenger-message.selected {
            background: rgba(0, 212, 255, 0.15) !important;
            border-color: #00d4ff !important;
        }
        .messenger-message-select {
            position: absolute;
            left: 8px;
            top: 50%;
            transform: translateY(-50%);
            z-index: 2;
        }
        .messenger-message-select input[type="checkbox"] {
            width: 16px;
            height: 16px;
            cursor: pointer;
            accent-color: #00d4ff;
        }

        .messenger-input-area {
            padding: 12px 15px;
            background: #2a2a2a;
            border-top: 1px solid #333;
            display: flex;
            gap: 10px;
            align-items: center;
            flex-shrink: 0;
        }

        @keyframes cartPulse {
            0% {
                transform: scale(1);
                box-shadow: 0 4px 15px rgba(99, 102, 241, 0.4);
            }

            50% {
                transform: scale(1.1);
                box-shadow: 0 8px 25px rgba(99, 102, 241, 0.8);
            }

            100% {
                transform: scale(1);
                box-shadow: 0 4px 15px rgba(99, 102, 241, 0.4);
            }
        }

        .cart-toggle-button.pulse {
            animation: cartPulse 1s ease-in-out infinite;
        }

        /* ===== Кнопка AI-агента на строке ввода + светящиеся режимы ===== */
        .msg-agent-toggle {
            box-shadow: 0 2px 6px rgba(0,0,0,0.25);
        }
        /* Режим 1: отвечать на входящие — голубой */
        .msg-agent-toggle.mode-reply,
        .messenger-input-area.mode-reply,
        .guest-mini-chat-input-area.mode-reply {
            border-color: #00d4ff !important;
            box-shadow: 0 0 0 1px #00d4ff, 0 0 16px rgba(0,212,255,0.45);
            animation: agGlowReply 1.8s ease-in-out infinite;
        }
        /* Режим 2: начинать сам — фиолетовый/оранжевый */
        .msg-agent-toggle.mode-auto,
        .messenger-input-area.mode-auto,
        .guest-mini-chat-input-area.mode-auto {
            border-color: #a78bfa !important;
            box-shadow: 0 0 0 1px #a78bfa, 0 0 18px rgba(167,139,250,0.5);
            animation: agGlowAuto 1.8s ease-in-out infinite;
        }
        @keyframes agGlowReply {
            0%,100% { box-shadow: 0 0 0 1px #00d4ff, 0 0 10px rgba(0,212,255,0.3); }
            50%      { box-shadow: 0 0 0 1px #00d4ff, 0 0 22px rgba(0,212,255,0.6); }
        }
        @keyframes agGlowAuto {
            0%,100% { box-shadow: 0 0 0 1px #a78bfa, 0 0 12px rgba(167,139,250,0.35); }
            50%      { box-shadow: 0 0 0 1px #a78bfa, 0 0 26px rgba(167,139,250,0.65); }
        }
        .msg-agent-toggle.mode-reply button,
        .msg-agent-toggle.mode-auto button { color: #fff; }
        .messenger-input-area.mode-reply textarea,
        .messenger-input-area.mode-auto textarea,
        .guest-mini-chat-input-area.mode-reply textarea,
        .guest-mini-chat-input-area.mode-auto textarea {
            outline: none !important;
        }

        [data-theme="light"] .messenger-input-area {
            background: #f5f5f5;
            border-top: 1px solid #ddd;
        }

        .messenger-input-area textarea {
            flex: 1;
            padding: 8px 12px;
            border-radius: 20px;
            border: 1px solid #333;
            background: #1e1e1e;
            color: #fff;
            font-size: 13px;
            resize: none;
            min-height: 36px;
            max-height: 80px;
            font-family: inherit;
        }

        [data-theme="light"] .messenger-input-area textarea {
            background: #ffffff;
            border: 1px solid #ddd;
            color: #222;
        }

        .messenger-input-area textarea:focus {
            outline: none;
            border-color: #00d4ff;
        }

        [data-theme="light"] .messenger-input-area textarea:focus {
            border-color: #007acc;
        }

        .messenger-input-area button {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: #00d4ff;
            color: white;
            border: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 16px;
            transition: transform 0.2s;
            flex-shrink: 0;
        }

        [data-theme="light"] .messenger-input-area button {
            background: #007acc;
        }

        .messenger-input-area button:hover:not(:disabled) {
            transform: scale(1.1);
        }

        .messenger-input-area button:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

        /* Переключатель автораскрытия */
        .auto-open-toggle {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            cursor: pointer;
            font-size: 11px;
            color: #888;
            margin-left: auto;
            padding: 2px 6px;
            border-radius: 10px;
            background: rgba(255,255,255,0.05);
            transition: 0.2s;
            user-select: none;
        }
        .auto-open-toggle:hover {
            background: rgba(255,255,255,0.1);
            color: #ccc;
        }
        .auto-open-toggle input[type="checkbox"] {
            width: 14px;
            height: 14px;
            cursor: pointer;
            accent-color: #667eea;
        }
        .auto-open-label {
            line-height: 1;
        }

        /* ===== Увеличение шрифтов в модалке сообщений ===== */
        .messenger-widget .messenger-container {
            font-size: 15px;
        }
        .messenger-widget .messenger-container .messenger-tab { font-size: 14.5px; }
        .messenger-widget .messenger-conversation-name,
        .messenger-widget .conversation-name { font-size: 1.05rem; }
        .messenger-widget .messenger-conversation-preview,
        .messenger-widget .conversation-preview { font-size: 1.1rem; }
        .messenger-widget .conversation-time { font-size: 0.8rem; }
        .messenger-widget .messenger-message { font-size: 14.5px; }
        .messenger-widget .messenger-message-sender { font-size: 11px; }
        .messenger-widget .messenger-message-time { font-size: 10px; }
        .messenger-widget #messenger-ai-messages { font-size: 14.5px; }
        .messenger-widget #messenger-ai-messages [style] { font-size: 14.5px !important; }
        .messenger-widget #messenger-ai-input,
        .messenger-widget #messenger-message-input { font-size: 14px; }
        .messenger-widget .messenger-ai-input-area,
        .messenger-widget .messenger-input-area textarea { font-size: 14px; }
        .messenger-widget #messenger-ai-agent-selector { font-size: 13px; }
        .messenger-widget .messenger-header-left { font-size: 16px; }
        .messenger-widget .messenger-chat-user-name { font-size: 16px; }

        .messenger-widget.fullscreen .messenger-container {
            position: fixed;
            top: 56px;
            left: 0;
            right: 0;
            bottom: 0;
            width: 100% !important;
            height: calc(100% - 56px) !important;
            max-width: none !important;
            max-height: none !important;
            border-radius: 0;
            z-index: 10000;
        }

        .messenger-widget.fullscreen .messenger-toggle,
        .messenger-widget.fullscreen .messenger-mini-tracker {
            display: none;
        }

        /* ===== Messenger: typing indicator ===== */
        .messenger-typing-indicator {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 6px 14px;
            color: #aaa;
            font-size: 0.8rem;
            flex-shrink: 0;
            border-top: 1px solid #333;
            background: #1e1e1e;
        }
        [data-theme="light"] .messenger-typing-indicator {
            color: #666;
            border-top: 1px solid #ddd;
            background: #fff;
        }
        .messenger-typing-indicator .typing-dots {
            display: flex;
            gap: 3px;
        }
        .messenger-typing-indicator .typing-dots span {
            width: 5px;
            height: 5px;
            background: #888;
            border-radius: 50%;
            animation: messengerTypingAnim 1.4s infinite;
        }
        .messenger-typing-indicator .typing-dots span:nth-child(2) { animation-delay: 0.2s; }
        .messenger-typing-indicator .typing-dots span:nth-child(3) { animation-delay: 0.4s; }
        @keyframes messengerTypingAnim {
            0%, 60%, 100% { transform: translateY(0); }
            30% { transform: translateY(-3px); }
        }

        /* ===== Messenger: unread message ===== */
        .messenger-message.incoming.unread {
            background: rgba(0, 212, 255, 0.08);
            border-left: 2px solid #00d4ff;
            border-radius: 8px;
        }
        [data-theme="light"] .messenger-message.incoming.unread {
            background: rgba(0, 122, 204, 0.06);
            border-left: 2px solid #007acc;
        }
        .messenger-message-status {
            display: inline-flex;
            align-items: center;
            font-size: 10px;
            margin-left: 4px;
            vertical-align: middle;
        }

        #reviews-nav-btn {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: var(--glass-bg);
            color: var(--text-primary);
            font-size: 1.2rem;
            cursor: pointer;
            border: 1px solid var(--glass-border);
            transition: all 0.3s ease;
            margin: 0 5px;
        }

        #reviews-nav-btn:hover {
            background: var(--gradient-primary);
            color: white;
            transform: translateY(-2px);
        }

        #reviews-nav-btn .reviews-badge {
            position: absolute;
            top: -5px;
            right: -5px;
            background: #ff4757;
            color: white;
            border-radius: 50%;
            min-width: 20px;
            height: 20px;
            font-size: 11px;
            font-weight: bold;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 4px;
            border: 2px solid var(--bg-color);
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
        }

        /* Кнопка отзывов видна и на десктопе, и на мобилке */

        @keyframes slideIn {
            from {
                opacity: 0;
                transform: translateY(10px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @media (max-width: 768px) {
            .messenger-widget:not(.fullscreen) .messenger-container {
                position: fixed;
                top: 70px;
                bottom: 80px;
                right: 10px;
                left: 10px;
                width: auto;
                height: auto;
                display: flex !important;
                z-index: 10001;
            }

            .messenger-widget.fullscreen .messenger-container {
                top: 70px !important;
                bottom: 70px !important;
                height: auto !important;
            }

            .messenger-widget.minimized .messenger-container {
                display: none !important;
            }

            .messenger-widget.minimized .messenger-toggle {
                display: flex !important;
            }
        }

        .messenger-toggle {
            width: 50px;
            height: 50px;
            font-size: 22px;
        }

        .messenger-mini-tracker {
            bottom: 80px;
            right: 0;
            max-width: 200px;
        }


        @media (max-width: 480px) {
            .messenger-toggle {
                width: 48px;
                height: 48px;
                font-size: 20px;
            }
        }

        #admin-support-container {
            display: inline-flex !important;
            align-items: center !important;
            margin-left: 20px !important;
            cursor: pointer !important;
            vertical-align: middle !important;
        }

        #admin-support-container>div {
            transition: all 0.2s ease !important;
        }

        @media (max-width: 768px) {
            footer p {
                display: flex !important;
                align-items: center !important;
                justify-content: center;
                gap: 4px !important;
                flex-wrap: wrap;
                align-content: center;
                flex-direction: column;
            }

            #admin-support-container {
                display: inline-flex !important;
                margin: 0 auto !important;
                margin-left: 0 !important;
            }

            #admin-support-container>div {
                padding: 4px 10px !important;
                gap: 6px !important;
            }

            #admin-support-container img {
                width: 24px !important;
                height: 24px !important;
            }

            #admin-support-container span {
                font-size: 11px !important;
            }

            footer p a,
            footer p a.footer-link {
                margin-left: 0 !important;
                margin: 2px 2px !important;
                padding: 3px 7px !important;
                font-size: 0.68rem !important;
                white-space: nowrap;
            }

            footer p a.footer-link {
                width: 100% !important;
                justify-content: center;
                text-align: center;
            }

            footer p > div {
                flex-basis: 100% !important;
                justify-content: center;
            }
        }

        @media (max-width: 480px) {
            #admin-support-container>div {
                padding: 5px 12px !important;
            }

            #admin-support-container img {
                width: 28px !important;
                height: 28px !important;
            }

            #admin-support-container span {
                font-size: 11px !important;
            }
        }

        /* ===== Guest Mini-Chat ===== */
        #voice-notify-menu.show { display: block !important; }
#voice-notify-menu .vn-option { padding: 6px 12px; cursor: pointer; font-size: 12px; white-space: nowrap; border-radius: 4px; margin: 0 4px; }
#voice-notify-menu .vn-option:hover { background: rgba(255,255,255,0.1); }
[data-theme="light"] #voice-notify-menu { background: #fff; border-color: #ddd; }
[data-theme="light"] #voice-notify-menu .vn-option:hover { background: #f0f0f0; }
.guest-mini-chat {
            position: fixed;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            width: 380px;
            max-width: calc(100vw - 40px);
            background: rgba(30, 30, 30, 0.75);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border-radius: 16px;
            box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.4);
            z-index: 99999;
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            display: flex;
            flex-direction: column;
            animation: guestMiniChatSlideUp 0.3s ease;
            border: none;
            max-height: 45vh;
            overflow: hidden;
        }
        [data-theme="light"] .guest-mini-chat {
            background: rgba(255, 255, 255, 0.8);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.1);
            border: none;
        }
        @keyframes guestMiniChatSlideUp {
            from { transform: translateX(-50%) translateY(100%); opacity: 0; }
            to { transform: translateX(-50%) translateY(0); opacity: 1; }
        }
        .guest-mini-chat-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 8px 14px 4px;
            cursor: pointer;
            flex-shrink: 0;
            border-bottom: none;
        }
        [data-theme="light"] .guest-mini-chat-header {
            border-bottom: none;
        }
        .guest-mini-chat-title {
            font-size: 16px;
            font-weight: 600;
            color: #eee;
        }
        [data-theme="light"] .guest-mini-chat-title {
            color: #222;
        }
        .guest-mini-chat-close {
            background: none;
            border: none;
            color: #888;
            font-size: 22px;
            cursor: pointer;
            padding: 0 4px;
            line-height: 1;
            transition: color 0.2s;
        }
        .guest-mini-chat-close:hover {
            color: #ff4757;
        }
        .guest-mini-chat-messages {
            flex: 1;
            overflow-y: auto;
            padding: 4px 14px 6px;
            max-height: 30vh;
            min-height: 60px;
            display: flex;
            flex-direction: column;
            gap: 6px;
            background: transparent;
            border: none;
        }
        .guest-mini-chat-message-sender {
            font-size: 13px;
            color: #00d4ff;
            font-weight: 600;
            margin-right: 6px;
            flex-shrink: 0;
        }
        [data-theme="light"] .guest-mini-chat-message-sender {
            color: #007acc;
        }
        .guest-mini-chat-message-content {
            display: inline;
        }
        .guest-mini-chat-placeholder {
            color: #666;
            font-size: 13px;
            text-align: center;
            padding: 20px 0;
        }
        .guest-mini-chat-message {
            max-width: 85%;
            padding: 8px 12px;
            border-radius: 12px;
            font-size: 14px;
            line-height: 1.5;
            word-wrap: break-word;
            animation: messageFadeIn 0.2s ease;
        }
        @keyframes messageFadeIn {
            from { opacity: 0; transform: translateY(4px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .guest-mini-chat-message.incoming {
            align-self: flex-start;
            background: #2a2a2a;
            color: #ddd;
            border-bottom-left-radius: 4px;
        }
        [data-theme="light"] .guest-mini-chat-message.incoming {
            background: #f0f0f0;
            color: #333;
        }
        .guest-mini-chat-message.outgoing {
            align-self: flex-end;
            background: #545454;
            color: #ffffff;
            border-bottom-right-radius: 4px;
        }
        [data-theme="light"] .guest-mini-chat-message.outgoing {
            background: #f0f0f0;
            color: #333;
            border: 1px solid #ddd;
        }
        .guest-mini-chat-message-time {
            font-size: 11px;
            color: #888;
            margin-top: 3px;
            text-align: right;
        }
        .guest-mini-chat-input-area {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 4px 14px 10px;
            border-top: none;
            flex-shrink: 0;
            background: transparent;
        }
        [data-theme="light"] .guest-mini-chat-input-area {
            border-top: none;
        }
        .guest-mini-chat-input {
            flex: 1;
            background: #2a2a2a;
            border: 1px solid #444;
            border-radius: 20px;
            padding: 8px 14px;
            color: #eee;
            font-size: 13px;
            outline: none;
            resize: none;
            font-family: inherit;
            max-height: 80px;
            min-height: 36px;
        }
        [data-theme="light"] .guest-mini-chat-input {
            background: #f5f5f5;
            border-color: #ddd;
            color: #222;
        }
        .guest-mini-chat-input:focus {
            border-color: #00d4ff;
        }
        .guest-mini-chat-send {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: #00d4ff;
            color: #000;
            border: none;
            cursor: pointer;
            font-size: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.2s, opacity 0.2s;
            flex-shrink: 0;
        }
        .guest-mini-chat-send:hover {
            transform: scale(1.1);
        }
        .guest-mini-chat-send:disabled {
            opacity: 0.4;
            cursor: default;
            transform: none;
        }
        @media (max-width: 480px) {
            .guest-mini-chat {
                width: calc(100vw - 20px);
                max-height: min(50vh, calc(100vh - 80px));
                bottom: 10px;
            }
            .guest-mini-chat-messages {
                max-height: min(35vh, calc(100vh - 160px));
            }
        }

        /* ===== Guest Mini-Chat: typing indicator ===== */
        .guest-mini-typing-indicator {
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 4px 14px;
            color: #999;
            font-size: 0.75rem;
            flex-shrink: 0;
            background: transparent;
        }
        .guest-mini-typing-indicator .typing-dots span {
            width: 4px;
            height: 4px;
            background: #888;
        }
        /* ===== Guest Mini-Chat: unread message ===== */
        .guest-mini-chat-message.incoming.unread {
            background: rgba(0, 212, 255, 0.12);
            border-left: 2px solid #00d4ff;
        }
        [data-theme="light"] .guest-mini-chat-message.incoming.unread {
            background: rgba(0, 122, 204, 0.08);
            border-left: 2px solid #007acc;
        }
        .guest-mini-chat-message-status {
            display: inline-flex;
            align-items: center;
            font-size: 9px;
            margin-left: 3px;
            vertical-align: middle;
        }
        /* Hide reviews-nav-btn inside auth-nav (SPA transition bug) */
        #auth-nav #reviews-nav-btn { display: none !important; }


/* ============ PROMO: бейджі + секції головної + комбо (2026-10-27) ============ */
.promo-badge-row { display: inline-flex; flex-wrap: wrap; gap: 4px; margin: 4px 0 2px; position: relative; z-index: 3; }
.promo-badge {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 9px; border-radius: 999px;
    font-size: 11px; font-weight: 700; line-height: 1.35;
    white-space: nowrap; z-index: 3;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .22);
}
.promo-combo-badge { background: linear-gradient(135deg, #ff8a00, #ff2d55); color: #fff; }
.promo-fd-badge { background: linear-gradient(135deg, #00b894, #00cec9); color: #fff; }

/* --- секції головної --- */
.promo-home-sections { margin: 10px 0 4px; }
.promo-home-section { margin: 0 0 10px; padding: 4px 2px 0; }
.promo-home-section h2 {
    display: flex; align-items: center; gap: 10px;
    font-size: clamp(18px, 2.4vw, 23px); font-weight: 800;
    margin: 12px 0 10px; letter-spacing: .2px;
}
.promo-home-section h2::after {
    content: ""; flex: 0 0 70px; height: 4px; border-radius: 4px;
    background: linear-gradient(90deg, #00d4ff, #15ff92);
    box-shadow: 0 0 8px rgba(0, 212, 255, .35);
}
.promo-deals-section h2::after { background: linear-gradient(90deg, #ff8a00, #ff2d55); box-shadow: 0 0 8px rgba(255, 45, 85, .35); }
.promo-combo-section h2::after { background: linear-gradient(90deg, #a78bfa, #ff2d55); box-shadow: 0 0 8px rgba(167, 139, 250, .35); }

.promo-card-row {
    display: flex; gap: 12px; overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 6px 2px 14px;
    scrollbar-width: none; -ms-overflow-style: none;
}
.promo-card-row::-webkit-scrollbar { display: none; }
.promo-card-row > * { scroll-snap-align: start; flex: 0 0 auto; width: min(210px, 64vw); }
.promo-home-card { transition: transform .18s ease, box-shadow .18s ease; will-change: transform; }
.promo-home-card:hover { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(0, 0, 0, .25); }

/* --- комбо: дві картки з великим плюсом --- */
.combo-list { display: flex; flex-direction: column; gap: 20px; margin-top: 4px; }
.combo-pair {
    position: relative; display: flex; align-items: stretch; gap: 40px;
    padding: 14px; border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 138, 0, .07), rgba(255, 45, 85, .07));
    border: 1px solid var(--border-color, rgba(124, 58, 237, .25));
    flex-wrap: wrap; justify-content: center;
}
.combo-pair .combo-card-wrap { flex: 0 1 240px; min-width: 190px; }
.combo-pair .promo-home-card, .combo-pair .product-item { width: 100%; margin: 0; }
.combo-plus {
    align-self: center; flex: 0 0 auto;
    width: 56px; height: 56px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 34px; font-weight: 800; line-height: 1; color: #fff;
    background: linear-gradient(135deg, #ff8a00, #ff2d55);
    box-shadow: 0 6px 20px rgba(255, 45, 85, .45);
    animation: comboPlusPulse 2.4s ease-in-out infinite;
    user-select: none;
}
@keyframes comboPlusPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 6px 20px rgba(255, 45, 85, .45); }
    50% { transform: scale(1.08); box-shadow: 0 8px 26px rgba(255, 138, 0, .6); }
}
.combo-price-line { display: flex; align-items: baseline; gap: 8px; margin-top: 6px; justify-content: center; }
.combo-old-price { text-decoration: line-through; opacity: .55; font-size: 13px; }
.combo-gift-price { font-weight: 800; font-size: 17px; color: #ff5c7a; }
.combo-partner-wrap .combo-gift-price { text-shadow: 0 0 12px rgba(255, 92, 122, .35); }

/* --- міні-картка комбо в модалці товара --- */
.promo-combo-mini {
    display: flex; gap: 10px; align-items: center;
    border: 1px solid var(--border-color, rgba(124, 58, 237, .3));
    border-radius: 12px; padding: 10px 12px; margin-top: 10px;
    background: linear-gradient(135deg, rgba(255, 138, 0, .08), rgba(255, 45, 85, .08));
    position: relative; z-index: 4;
}
.promo-combo-mini img { width: 44px; height: 44px; border-radius: 8px; object-fit: cover; flex: 0 0 auto; }
.promo-combo-mini-label { font-size: 11px; font-weight: 700; color: #ff5c7a; margin-bottom: 2px; }
.promo-combo-mini-title { font-size: 13px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.promo-combo-mini .combo-old-price { font-size: 12px; }
.promo-combo-mini .combo-gift-price { font-size: 15px; }
.promo-combo-mini a { font-size: 12px; margin-left: auto; white-space: nowrap; }
@media (max-width: 700px) {
    .combo-pair { gap: 14px; padding: 10px; }
    .combo-plus { width: 44px; height: 44px; font-size: 26px; }
    .promo-card-row > * { width: min(170px, 46vw); }
}


/* ============ ОБРАТНЫЙ ОТСЧЁТ: крупные красные цифры + тикающие секунды (2026-10-27) ============ */
.product-item .discount-badge,
.discount-badge {
    background: linear-gradient(135deg, #ff2d55, #c4001f) !important;
    color: #fff !important;
    font-size: 0.98rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em;
    padding: 6px 12px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, .28);
    box-shadow: 0 3px 10px rgba(255, 45, 85, .4);
    animation: none !important;
}
.discount-timer {
    color: #ff3b4e !important;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
/* секунды: перелистывание страницы при каждом тике */
.cd-sec {
    display: inline-block;
    min-width: 2ch;
    text-align: center;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    animation: cdFlip .5s cubic-bezier(.4, 0, .2, 1);
    transform-origin: center top;
    backface-visibility: hidden;
}
@keyframes cdFlip {
    0%   { transform: rotateX(-90deg); opacity: .25; }
    55%  { transform: rotateX(12deg);  opacity: .9; }
    100% { transform: rotateX(0deg);   opacity: 1; }
}

/* ============ ПРОМО-БЕЙДЖИ: компактно, всё помещается вместе (акция+комбо+доставка+ожидание) ============ */
.promo-badge-row { gap: 3px; margin: 3px 0 2px; }
.promo-badge { font-size: 10.5px; padding: 2.5px 8px; box-shadow: 0 1px 5px rgba(0, 0, 0, .2); }
/* бесплатная доставка — заметная надпись (2026-10-27: шрифт крупнее) */
.promo-fd-badge {
    background: linear-gradient(135deg, #00b06d, #00d4a0) !important;
    font-size: 14px !important;
    padding: 5px 12px !important;
    font-weight: 800 !important;
    letter-spacing: .02em;
    box-shadow: 0 2px 8px rgba(0, 212, 160, .4) !important;
}

/* ============ КОМБО-2 (2026-10-28): секція головної, допис у назві, комбо-режим ============ */
/* звичайні картки секції «Комбо-бонус» з червонуватим підсвічуванням */
.combo-glow-wrap {
    position: relative;
    border-radius: 16px;
    padding: 6px;
    background: linear-gradient(160deg, rgba(255, 45, 85, .10), rgba(255, 138, 0, .06));
    box-shadow: 0 0 0 1.5px rgba(255, 45, 85, .38), 0 10px 26px rgba(255, 45, 85, .16);
    transition: box-shadow .18s ease, transform .18s ease;
}
.combo-glow-wrap:hover {
    box-shadow: 0 0 0 2px rgba(255, 45, 85, .55), 0 14px 30px rgba(255, 45, 85, .26);
}
.combo-glow-wrap .product-item,
.combo-glow-wrap .promo-home-card { width: 100%; margin: 0; }
.promo-combo-section h2::after {
    background: linear-gradient(90deg, #ff8a00, #ff2d55);
    box-shadow: 0 0 8px rgba(255, 45, 85, .4);
}

/* 🎁 допис у назві комбо-товара — ТІЛЬКИ візуально (CSS content),
   textContent назви лишається оригінальним для пошуку цін ринку/пререндера */
a[data-combo-title]::after,
#product-title[data-combo-title]::after {
    content: " " attr(data-combo-title);
    color: #ff2d55;
    font-weight: 800;
    white-space: nowrap;
}

/* довге речення біля ціни у модалці замість плашки «Комбо-бонус до N ₴» */
.promo-badge.promo-combo-note {
    white-space: normal;
    border-radius: 12px;
    align-items: flex-start;
    max-width: 100%;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    padding: 7px 11px;
    box-shadow: 0 2px 9px rgba(255, 45, 85, .3);
}

/* комбо-режим: товари не того вибору — пригашені, з міткою недоступності */
.product-item.combo-blocked .product-media,
.product-item.combo-blocked h3,
.product-item.combo-blocked h4,
.product-item.combo-blocked .price,
.product-item.combo-blocked .description,
.product-item.combo-blocked .rating,
.product-item.combo-blocked .location,
.product-item.combo-blocked .product-badges {
    filter: grayscale(.85);
    opacity: .45;
}
.product-item.combo-blocked { cursor: not-allowed; }
.combo-na-label {
    position: absolute;
    left: 8px; right: 8px; top: 50%;
    transform: translateY(-50%);
    z-index: 7;
    text-align: center;
    font-size: 12.5px; font-weight: 800;
    color: #fff;
    background: rgba(15, 23, 42, .86);
    border: 1px solid rgba(255, 255, 255, .28);
    padding: 7px 8px; border-radius: 10px;
    pointer-events: none;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .35);
}
.combo-mode-badge { position: absolute; left: 8px; bottom: 8px; z-index: 6; }

/* 🎁 КОМБО-2: сума у реченні біля ціни — крупніше й іншим кольором */
.combo-note-sum {
    color: #7f1d1d;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: .2px;
    padding: 0 3px;
    text-shadow: 0 0 12px rgba(255, 45, 85, .45);
}
[data-theme="dark"] .combo-note-sum { color: #ffe4e6; }

/* 🎁 КОМБО-2: секції головної на ПК — видимий скролбар + перетягування мишею */
@media (hover: hover) and (pointer: fine) {
    .promo-card-row {
        cursor: grab;
        scrollbar-width: thin;
        scrollbar-color: rgba(255, 45, 85, .55) rgba(0, 0, 0, .06);
        padding-bottom: 10px;
    }
    .promo-card-row:active { cursor: grabbing; }
    .promo-card-row::-webkit-scrollbar { display: block; height: 9px; }
    .promo-card-row::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, .06); border-radius: 9px;
    }
    .promo-card-row::-webkit-scrollbar-thumb {
        background: rgba(255, 45, 85, .5); border-radius: 9px;
    }
    .promo-card-row::-webkit-scrollbar-thumb:hover { background: rgba(255, 45, 85, .75); }
}

/* 🖱️ ТЯГА МИШЕЮ (2026-10-30): поки тягнемо — scroll-snap ВИМКНЕНО, бо
   mandatory snap повертав рядок на найближчу картку після кожного кроку
   (на ПК здавалося, що карточки взагалі не рухаються). Плюс заборона
   виділення тексту під час перетягування. */
.promo-card-row.promo-row-press,
.promo-card-row.promo-row-dragging { user-select: none; -webkit-user-select: none; }
.promo-card-row.promo-row-dragging {
    scroll-snap-type: none !important;
    cursor: grabbing !important;
}
.promo-card-row.promo-row-dragging img { pointer-events: none; }

/* 🔘 КНОПКИ «дивитися більше» під секціями головної — КОЖНА ІНША (колір,
   форма, іконка), під тему секції. */
.promo-more-btn {
    display: inline-flex; align-items: center; gap: 10px;
    margin: 2px 2px 6px; padding: 11px 20px;
    font-size: 15px; font-weight: 800; line-height: 1.1; font-family: inherit;
    border: 0; cursor: pointer; letter-spacing: .1px;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    -webkit-tap-highlight-color: transparent;
}
.promo-more-btn:hover { transform: translateY(-2px); filter: brightness(1.07); }
.promo-more-btn:active { transform: translateY(0) scale(.98); }
.promo-more-btn:focus-visible { outline: 3px solid rgba(0, 212, 255, .55); outline-offset: 3px; }
.promo-more-arrow { font-weight: 900; transition: transform .18s ease; }
.promo-more-btn:hover .promo-more-arrow { transform: translateX(4px); }

/* 🆕 Новинки — «пилюля» бірюза → зелений, стрілка в кружечку */
.promo-more-news {
    color: #04303a; border-radius: 999px;
    background: linear-gradient(135deg, #00d4ff, #15ff92);
    box-shadow: 0 6px 18px rgba(0, 212, 255, .35);
}
.promo-more-news .promo-more-arrow {
    display: inline-flex; align-items: center; justify-content: center;
    width: 24px; height: 24px; border-radius: 50%;
    background: rgba(4, 48, 58, .18); font-size: 14px;
}

/* 🔥 Акції — «квиток» помаранч → червоний, гостріший кут, знак % зліва */
.promo-more-deals {
    color: #fff; border-radius: 14px 14px 14px 4px;
    background: linear-gradient(135deg, #ff8a00, #ff2d55);
    box-shadow: 0 6px 18px rgba(255, 45, 85, .4);
    position: relative; padding-left: 44px;
}
.promo-more-deals::before {
    content: "%"; position: absolute; left: 17px; top: 50%;
    transform: translateY(-50%); font-size: 16px; font-weight: 900; opacity: .95;
}
.promo-more-deals .promo-more-arrow { font-size: 17px; }

/* 🎁 Комбо-бонус — фіолетова зі світінням, подарунок зліва */
.promo-more-combo {
    color: #fff; border-radius: 999px;
    background: linear-gradient(135deg, #7c3aed, #a78bfa);
    box-shadow: 0 6px 20px rgba(124, 58, 237, .45);
    position: relative; padding-left: 44px;
}
.promo-more-combo::before {
    content: "🎁"; position: absolute; left: 15px; top: 50%;
    transform: translateY(-50%); font-size: 16px;
}
.promo-more-combo .promo-more-arrow { font-size: 17px; }

[data-theme="dark"] .promo-more-news { color: #03222b; }
[data-theme="dark"] .promo-more-deals { box-shadow: 0 6px 18px rgba(255, 45, 85, .3); }
[data-theme="dark"] .promo-more-combo { box-shadow: 0 6px 20px rgba(124, 58, 237, .35); }

@media (max-width: 480px) {
    .promo-more-btn { font-size: 14px; padding: 10px 16px; gap: 8px; }
    .promo-more-deals, .promo-more-combo { padding-left: 40px; }
}

/* ⏱ ТІК СЕКУНД БЕЗ СТРИБКІВ (2026-10-30): цифри однакової ширини + no-wrap,
   інакше ширина бейджа міняється щосекунди і весь рядок під ним «стрибає». */
.discount-badge, .auction-badge, .discount-timer, .cd-time, .cd-sec {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}
.discount-badge, .auction-badge { white-space: nowrap; }
.cd-time { display: inline-block; min-width: 8ch; text-align: center; }
.cd-time-days { min-width: auto; }

/* 🔘 «Комбо Бонус» у рядку пошуку (ПК і мобайл) — завжди один рядок */
.search-tool-check { white-space: nowrap; flex: 0 0 auto; }
.search-tools-strip { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.search-tools-strip::-webkit-scrollbar { display: none; }

/* ⏱ natural-вигляд каталогу: бейджі акції зліва (були відсутні)
   🔁 2026-10-30 (fix-2, review t_136dacab): було top:8px — колонка бейджів
   (-4% + таймер «Акция: 19:15:06», реально 128×58) ЛЯГАЛА НА .title-overlay
   (product_list.css:1571, top:2/left:12/z20): перекрито ~124px кожної з 2
   рядків заголовка (видимий текст починався аж за правим краєм бейджа).
   ЧИНИМО ГЕОМЕТРІЮ, а не ховаємо бейдж: переносимо колонку ПІД підложку
   заголовка. Максимальна висота заголовка = 2 рядки (title-text
   -webkit-line-clamp:2 → 42px) ⇒ top:56px дає ≥12px запасу і НЕ заїжджає
   ні на заголовок, ні на .bottom-info-overlay (починається з ~159px),
   ні на .top-right-meta (сереце праворуч, x починається з ~154px при
   мінімальній ширині картки 200px — колонка закінчується на 136px),
   ні на нижні контроли (.product-cart-btn / .bid-button-flat — низ картки). */
.natural-promo-badges {
    position: absolute; top: 56px; left: 8px; z-index: 22;
    display: flex; flex-direction: column; gap: 4px; align-items: flex-start;
    max-width: calc(100% - 56px); pointer-events: none;
}
.natural-promo-badges .discount-percentage-badge {
    position: static; font-size: 1rem; padding: 3px 8px; border-radius: 10px;
}
.natural-promo-badges .discount-badge {
    font-size: .74rem !important; padding: 3px 8px !important; margin: 0;
}

/* 🔘 ПК (2026-10-30, виправлення №2): підписи у рядку пошуку КАТАЛОГУ
   лежать поза потоком (position:absolute + fixed right) — через це
   «По акціях» наліз на «В наличии», текст не було видно, а «Комбо Бонус»
   обрізався у фіксованих 86px. Даємо кожному свій правий відступ,
   ширину за вмістом і чекбокс 16px. Тільки ПК (>=769px). */
@media (min-width: 769px) {
    /* місце під три пілюлі праворуч від поля вводу */
    .desktop-search-bar .pl-search-field input[type="text"] {
        padding-right: 340px !important;
    }
    /* 🎁 «Комбо Бонус» — червона пілюля рівно під свій розмір */
    .desktop-search-bar .pl-search-field .search-combo-desktop,
    .search-combo-desktop {
        position: absolute; right: 7px; top: 50%; transform: translateY(-50%);
        left: auto; width: auto; min-width: 114px; height: 30px;
        display: inline-flex; align-items: center; justify-content: center; gap: 6px;
        padding: 3px 9px; box-sizing: border-box;
        background: #ff243b; border: 1px solid #ff5264; border-radius: 8px;
        color: #fff; font-size: 12px; font-weight: 700; line-height: 1.2;
        white-space: nowrap; cursor: pointer;
    }
    .search-combo-desktop input[type="checkbox"],
    .desktop-search-bar .pl-search-field .search-combo-desktop input[type="checkbox"] {
        appearance: auto; -webkit-appearance: checkbox;
        width: 15px; min-width: 15px; height: 15px; flex: 0 0 15px;
        margin: 0; padding: 0; accent-color: #ffffff; cursor: pointer;
    }
    .search-combo-desktop span { display: inline !important; white-space: nowrap; }
    /* «По акціях» — ліворуч від «В наличии».
       🔴 2026-10-30 (фінал): у мітки Є клас .stock-only-check, тому правило
       `.stock-only-check { right:130px }` нижче за текстом МАЛО ТУ СПЕЦИФІЧНІСТЬ
       (0,3,0 = 0,3,0) і перекривало `right:234px` → «По акціях» лежало ПІД
       «В наличии» і було не видно. Підсилюємо специфічність .stock-only-check. */
    .desktop-search-bar .pl-search-field .stock-only-check.disc-only-desktop {
        position: absolute; right: 234px; top: 50%; transform: translateY(-50%);
        left: auto; width: auto; height: 30px; box-sizing: border-box;
        display: inline-flex; align-items: center; gap: 6px;
        padding: 3px 9px; margin: 0;
        background: var(--surface-color, #1a1d24);
        border: 1px solid var(--border-color, #343a46); border-radius: 8px;
        color: var(--text-primary, #e7e9ee);
        font-size: 12px; font-weight: 600; line-height: 1.2;
        white-space: nowrap; cursor: pointer;
    }
    .desktop-search-bar .pl-search-field .stock-only-check.disc-only-desktop input[type="checkbox"] {
        appearance: auto; -webkit-appearance: checkbox;
        width: 15px; min-width: 15px; height: 15px; flex: 0 0 15px;
        margin: 0; padding: 0; accent-color: #0099cc; cursor: pointer;
    }
    .desktop-search-bar .pl-search-field .stock-only-check.disc-only-desktop span {
        display: inline !important; white-space: nowrap;
    }
    /* «В наличии» — праворуч від «По акціях», зліва від комбо */
    .desktop-search-bar .pl-search-field .stock-only-check {
        position: absolute; right: 130px; top: 50%; transform: translateY(-50%);
        left: auto; width: auto; height: 30px; box-sizing: border-box;
        display: inline-flex; align-items: center; gap: 6px;
        padding: 3px 9px; margin: 0;
        background: var(--surface-color, #1a1d24);
        border: 1px solid var(--border-color, #343a46); border-radius: 8px;
        color: var(--text-primary, #e7e9ee);
        font-size: 12px; font-weight: 600; line-height: 1.2;
        white-space: nowrap; cursor: pointer;
    }
    .desktop-search-bar .pl-search-field .stock-only-check input[type="checkbox"] {
        appearance: auto; -webkit-appearance: checkbox;
        width: 15px; min-width: 15px; height: 15px; flex: 0 0 15px;
        margin: 0; padding: 0; accent-color: #0099cc; cursor: pointer;
    }
    .desktop-search-bar .pl-search-field .stock-only-check span {
        display: inline !important; white-space: nowrap;
    }
}
