/* Основные стили виджета с именным пространством */
#nova-chat-widget {
position: fixed;
right: 20px;
bottom: 20px;
z-index: 9999;
font-family: Arial, sans-serif;
--nova-primary-color: #489cd8;
--nova-secondary-color: #346f99;
--nova-badge-color: #ff4757;
--nova-text-color: #333;
--nova-bg-color: #fff;
}

#nova-chat-widget .chat-icon {
position: fixed;
right: 20px;
bottom: 20px;
width: 60px;
height: 60px;
background-color: var(--nova-primary-color);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
transition: all 0.3s ease;
z-index: 10000;
}

#nova-chat-widget .chat-icon:hover {
transform: scale(1.1);
background-color: var(--nova-secondary-color);
}

#nova-chat-widget .chat-icon svg {
color: white;
width: 30px;
height: 30px;
}

#nova-chat-widget .unread-badge {
position: absolute;
top: 5px;
right: 5px;
width: 12px;
height: 12px;
background-color: var(--nova-badge-color);
border-radius: 50%;
border: 2px solid white;
display: none;
}

#nova-chat-widget .chat-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.3);
z-index: 9998;
display: none;
opacity: 0;
transition: opacity 0.3s;
}

#nova-chat-widget .chat-window {
position: fixed;
right: 20px;
bottom: 90px;
width: 280px;
background-color: var(--nova-bg-color);
border-radius: 10px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
overflow: hidden;
z-index: 9999;
transform: translateY(20px);
opacity: 0;
transition: all 0.3s ease;
}

#nova-chat-widget .chat-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px;
background-color: var(--nova-primary-color);
color: white;
}

#nova-chat-widget .chat-header h3 {
margin: 0;
font-size: 16px;
font-weight: 500;
}

#nova-chat-widget .close-btn {
background: none;
border: none;
color: white;
font-size: 20px;
cursor: pointer;
padding: 0;
line-height: 1;
}

#nova-chat-widget .chat-links {
padding: 10px;
}

#nova-chat-widget .chat-link {
display: flex;
align-items: center;
padding: 12px 10px;
text-decoration: none;
color: var(--nova-text-color);
border-radius: 5px;
margin-bottom: 5px;
transition: all 0.2s;
}

#nova-chat-widget .chat-link:hover {
background-color: #f5f5f5;
transform: translateX(3px);
}

#nova-chat-widget .chat-link svg {
margin-right: 12px;
width: 24px;
height: 24px;
}

#nova-chat-widget .chat-link span {
font-size: 14px;
font-weight: 500;
}

#nova-chat-widget .pulse-effect {
animation: nova-pulse-animation 1.5s infinite;
}

@keyframes nova-pulse-animation {
0% { box-shadow: 0 0 0 0 rgba(66, 185, 131, 0.7); }
70% { box-shadow: 0 0 0 10px rgba(66, 185, 131, 0); }
100% { box-shadow: 0 0 0 0 rgba(66, 185, 131, 0); }
}

/* Анимации для плавного появления */
#nova-chat-widget .slide-up-enter-active,
#nova-chat-widget .slide-up-leave-active {
transition: all 0.3s ease;
}

#nova-chat-widget .slide-up-enter-from,
#nova-chat-widget .slide-up-leave-to {
transform: translateY(20px);
opacity: 0;
}
