/**
 * CSS стили для системы рейтингов N8N чат-виджета
 */

/* Контейнер для иконок рейтинга */
.n8n-chat-rating-icons {
    display: flex;
    align-items: center;
    gap: 4px;
    position: absolute;
    bottom: -30px;
    right: 8px;
    opacity: 0.8;
    transition: opacity 0.2s ease;
}

.n8n-chat-rating-icons:hover {
    opacity: 1;
}

/* Делаем сообщение относительно позиционированным */
.n8n-chat-widget .chat-message.bot {
    position: relative;
}

/* Стили для кнопок-иконок */
.n8n-chat-rating-icons .rating-icon {
    background: none;
    border: none;
    outline: none;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: color 0.2s ease;
    color: #000000;
    position: relative;
    padding: 2px;
}

.n8n-chat-rating-icons .rating-icon:active {
    transform: scale(0.95);
}

.n8n-chat-rating-icons .rating-icon:focus {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Специальные стили для каждого типа кнопки - только цветные hover БЕЗ фонов и обводок */
.n8n-chat-rating-icons .thumbs-up:hover {
    color: #22c55e;
    background: none !important;
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

.n8n-chat-rating-icons .thumbs-down:hover {
    color: #ef4444;
    background: none !important;
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

.n8n-chat-rating-icons .help-circle:hover {
    color: #3b82f6;
    background: none !important;
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Состояние "проголосовано" */
.n8n-chat-rating-icons .thumbs-up.voted {
    color: #22c55e;
}

.n8n-chat-rating-icons .thumbs-down.voted {
    color: #ef4444;
}

.n8n-chat-rating-icons .help-circle.voted {
    color: #3b82f6;
}

/* Заблокированное состояние */
.n8n-chat-rating-icons .rating-icon.disabled {
    opacity: 0.3;
    cursor: not-allowed;
    color: #000000;
}

.n8n-chat-rating-icons .rating-icon.disabled:hover {
    color: #000000;
}

/* Индикатор загрузки */
.n8n-chat-rating-icons .rating-icon.loading {
    cursor: wait;
    opacity: 0.6;
}

.n8n-chat-rating-icons .rating-icon.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    margin: -7px 0 0 -7px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.n8n-chat-rating-icons .rating-icon.loading svg {
    opacity: 0;
}

/* SVG иконки */
.n8n-chat-rating-icons .rating-icon svg {
    width: 20px;
    height: 20px;
    transition: all 0.2s ease;
}

.n8n-chat-rating-icons .rating-icon.disabled svg {
    opacity: 0.4;
}

/* Анимации появления */
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 0.8;
        transform: translateY(0);
    }
}

.n8n-chat-rating-icons {
    animation: fadeInUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.2s both;
}

/* Улучшения для мобильных устройств */
@media (max-width: 768px) {
    .n8n-chat-rating-icons {
        gap: 6px;
    }
    
    .n8n-chat-rating-icons .rating-icon {
        width: 28px;
        height: 28px;
    }
    
    .n8n-chat-rating-icons .rating-icon svg {
        width: 22px;
        height: 22px;
    }
}
