/* =========================================================
   Glide — общий "чат"-компонент.
   Используется поверх стилей конкретной страницы (support.css,
   blog.css и т.д.) — не переопределяет nav, #page-transition,
   .page-title/.page-subtitle или главный hero index.html.
   ========================================================= */

.chat-feed{
    max-width:760px;
    margin:0 auto 80px;
    display:flex;
    flex-direction:column;
    gap:22px;
}

.chat-day{
    align-self:center;
    color:#94a3b8;
    font-size:0.78rem;
    font-weight:600;
    letter-spacing:0.04em;
    text-transform:uppercase;
    background:rgba(123,97,255,0.08);
    border:1px solid rgba(123,97,255,0.15);
    padding:6px 16px;
    border-radius:999px;
    margin:6px 0 4px;
}

.msg{
    display:flex;
    gap:14px;
    align-items:flex-start;
    opacity:0;
    transform:translateY(16px);
    transition:0.6s cubic-bezier(0.4,0,0.2,1);
}

.msg.show{
    opacity:1;
    transform:translateY(0);
}

.msg-avatar{
    flex:0 0 42px;
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:0.95rem;
    color:#fff;
    box-shadow:0 6px 16px rgba(0,0,0,0.35);
}

.msg-avatar svg{
    width:20px;
    height:20px;
    color:#ffffff;
}

.avatar-violet{ background:linear-gradient(135deg,#7b61ff,#6b4fee); }
.avatar-teal{ background:linear-gradient(135deg,#14b8a6,#0d9488); }
.avatar-amber{ background:linear-gradient(135deg,#f59e0b,#d97706); }
.avatar-pink{ background:linear-gradient(135deg,#ec4899,#db2777); }
.avatar-blue{ background:linear-gradient(135deg,#3b82f6,#2563eb); }
.avatar-slate{ background:linear-gradient(135deg,#64748b,#475569); }

.msg-col{
    display:flex;
    flex-direction:column;
    min-width:0;
    flex:1;
}

.msg-bubble{
    position:relative;
    background:linear-gradient(135deg, #1b1f26 0%, #161a20 100%);
    border:1px solid rgba(123,97,255,0.15);
    border-radius:4px 18px 18px 18px;
    padding:30px 22px 28px;
    color:#cbd5e1;
    line-height:1.65;
    max-width:560px;
}

.msg-sender{
    position:absolute;
    top:12px;
    left:22px;
    font-weight:700;
    font-size:0.78rem;
    color:#9c8bff;
    letter-spacing:0.01em;
}

.msg-time{
    position:absolute;
    right:16px;
    bottom:8px;
    font-size:0.7rem;
    color:#64748b;
}

.msg.msg-out .msg-sender{
    color:rgba(255,255,255,0.75);
}

.msg.msg-out .msg-time{
    color:rgba(255,255,255,0.6);
}

.msg-bubble p{ margin:0; }
.msg-bubble p + p{ margin-top:12px; }

.msg-bubble strong{ color:#ffffff; }

.msg-bubble ul{
    list-style:none;
    margin:10px 0 0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.msg-bubble ul li{
    position:relative;
    padding-left:18px;
}

.msg-bubble ul li::before{
    content:'';
    position:absolute;
    left:0;
    top:9px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#7b61ff;
}

.msg:hover .msg-bubble{
    border-color:rgba(123,97,255,0.35);
}

/* Исходящее сообщение (например, "вопрос" в FAQ) */
.msg.msg-out{
    flex-direction:row-reverse;
}

.msg.msg-out .msg-col{
    align-items:flex-end;
}

.msg.msg-out .msg-bubble{
    background:linear-gradient(135deg, #7b61ff 0%, #6b4fee 100%);
    border-color:transparent;
    color:#ffffff;
    border-radius:18px 4px 18px 18px;
}

.msg.msg-out .msg-bubble strong{ color:#ffffff; }

/* Блок кода внутри пузыря */
.msg-bubble .msg-code{
    background:#0b0c0f;
    border:1px solid rgba(123,97,255,0.2);
    border-radius:10px;
    padding:16px 18px;
    margin-top:12px;
    overflow-x:auto;
    font-family:'Courier New', monospace;
    font-size:0.82rem;
    color:#7b61ff;
    white-space:pre;
}

/* Быстрые ответы (донаты, платформы и т.п.) */
.msg-quick-replies{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:14px;
}

.qr-btn{
    background:rgba(123,97,255,0.08);
    border:1.5px solid rgba(123,97,255,0.35);
    color:#ffffff;
    padding:9px 18px;
    border-radius:999px;
    font-weight:600;
    font-size:0.88rem;
    cursor:pointer;
    transition:all 0.25s ease;
}

.qr-btn:hover{
    background:linear-gradient(135deg,#7b61ff,#6b4fee);
    border-color:transparent;
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(123,97,255,0.3);
}

.qr-btn.qr-primary{
    background:linear-gradient(135deg,#7b61ff,#6b4fee);
    border-color:transparent;
}

/* "печатает..." — лёгкий акцент оживления */
.msg-typing{
    display:inline-flex;
    gap:4px;
    align-items:center;
    padding:14px 18px;
}

.msg-typing span{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#7b61ff;
    opacity:0.6;
    animation:typing-bounce 1.2s infinite ease-in-out;
}

.msg-typing span:nth-child(2){ animation-delay:0.15s; }
.msg-typing span:nth-child(3){ animation-delay:0.3s; }

@keyframes typing-bounce{
    0%, 60%, 100%{ transform:translateY(0); opacity:0.5; }
    30%{ transform:translateY(-5px); opacity:1; }
}

/* Компоузер (форма обратной связи, оформленная как поле ввода чата) */
.chat-composer-wrap{
    max-width:760px;
    margin:0 auto 80px;
}

.chat-composer-label{
    color:#94a3b8;
    font-size:0.85rem;
    margin-bottom:10px;
    padding-left:4px;
}

.chat-composer{
    background:linear-gradient(135deg, #1b1f26 0%, #161a20 100%);
    border:1px solid rgba(123,97,255,0.18);
    border-radius:20px;
    padding:18px 20px;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.chat-composer .composer-row{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.chat-composer input[type="text"],
.chat-composer input[type="email"],
.chat-composer textarea{
    flex:1;
    min-width:180px;
    background:#0b0c0f;
    border:1px solid rgba(123,97,255,0.12);
    border-radius:14px;
    padding:12px 16px;
    color:#fff;
    font-family:inherit;
    font-size:0.95rem;
    resize:vertical;
}

.chat-composer input::placeholder,
.chat-composer textarea::placeholder{
    color:#64748b;
}

.chat-composer input:focus,
.chat-composer textarea:focus{
    outline:none;
    border-color:#7b61ff;
    box-shadow:0 0 0 3px rgba(123,97,255,0.15);
}

.composer-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
}

.composer-captcha{
    display:flex;
    gap:8px;
    align-items:center;
    color:#94a3b8;
    font-size:0.88rem;
}

.composer-captcha input{
    width:90px !important;
    min-width:0 !important;
    padding:8px 10px !important;
}

.composer-send{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:linear-gradient(135deg, #7b61ff 0%, #6b4fee 100%);
    color:#fff;
    border:none;
    border-radius:14px;
    padding:12px 22px;
    font-weight:700;
    cursor:pointer;
    transition:all 0.3s ease;
}

.composer-send:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(123,97,255,0.35);
}

.composer-send svg{ width:16px; height:16px; }

#cf-status{
    color:#94a3b8;
    font-size:0.85rem;
}

@media (max-width:640px){
    .msg{ gap:10px; }
    .msg-avatar{ width:34px; height:34px; font-size:0.8rem; flex:0 0 34px; }
    .msg-bubble{ padding:30px 16px 28px; max-width:100%; }
    .chat-composer .composer-row{ flex-direction:column; }
}
