#tdn-chatbot-widget-container {
    position: fixed;
    bottom: var(--tdn-bottom, 24px);
    z-index: 2147483647 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    pointer-events: auto !important;
}

#tdn-chatbot-widget-container.tdn-pos-bottom-right {
    right: var(--tdn-side, 24px);
    left: auto;
    align-items: flex-end;
}

#tdn-chatbot-widget-container.tdn-pos-bottom-left {
    left: var(--tdn-side, 24px);
    right: auto;
    align-items: flex-start;
}

/* Floating button icon */
#tdn-chatbot-toggle-btn {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: var(--tdn-primary, #0ea5e9);
    color: #fff;
    border: none;
    box-shadow: 0 8px 28px rgba(14, 165, 233, .42), 0 0 0 5px rgba(255,255,255,.92);
    cursor: pointer !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    padding: 0;
    overflow: hidden;
    outline: none;
    position: relative;
    z-index: 2147483647 !important;
    pointer-events: auto !important;
}

#tdn-chatbot-toggle-btn:hover {
    transform: scale(1.08);
}

#tdn-chatbot-toggle-btn img.tdn-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none !important;
}

.tdn-pulse {
    animation: tdn-pulse-effect 2s infinite;
}

@keyframes tdn-pulse-effect {
    0% {
        box-shadow: 0 0 0 0 rgba(14, 165, 233, 0.4);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(14, 165, 233, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(14, 165, 233, 0);
    }
}

/* Window Chat Container */
#tdn-chatbot-window {
    width: 390px;
    height: min(600px, calc(100vh - 110px));
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    margin-bottom: 16px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    transform-origin: bottom right;
}

#tdn-chatbot-widget-container.tdn-pos-bottom-left #tdn-chatbot-window {
    transform-origin: bottom left;
}

#tdn-chatbot-window.tdn-hidden {
    display: none !important;
}

/* Header */
.tdn-chat-header {
    padding: 16px 20px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tdn-bot-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.tdn-header-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, 0.6);
}

.tdn-bot-title {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.3px;
    color: var(--tdn-name-color, #c81e1e);
    line-height: 1.2;
    max-width: 245px;
}

.tdn-bot-status {
    margin: 3px 0 0 0;
    font-size: 11px;
    opacity: 1;
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--tdn-status-color, #ffffff);
}

.tdn-status-dot {
    width: 6px;
    height: 6px;
    background: #4ade80;
    border-radius: 50%;
    display: inline-block;
}

#tdn-chatbot-close-btn {
    border: none;
    background: transparent;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    opacity: 0.8;
}

#tdn-chatbot-close-btn:hover {
    opacity: 1;
}

/* Hotline & Social buttons channel bar */
.tdn-quick-channels {
    padding: 10px 15px;
    background: #f8fafc;
    border-bottom: 1px solid #f1f5f9;
    display: none !important;
    justify-content: space-around;
    gap: 8px;
}

.tdn-channel-link {
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 4px;
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #334155;
    transition: all 0.2s;
    flex: 1;
    justify-content: center;
}

.tdn-channel-link:hover {
    background: #f1f5f9;
    transform: translateY(-1px);
}

/* GDPR Consent Box */
#tdn-chatbot-consent-box {
    background: #fef08a;
    padding: 12px 16px;
    font-size: 11px;
    color: #854d0e;
    line-height: 1.4;
    border-bottom: 1px solid #fef08a;
    transition: all 0.3s ease;
}

#tdn-chatbot-consent-box p {
    margin: 0 0 8px 0;
}

.tdn-consent-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.tdn-consent-actions button {
    border: none;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: bold;
    cursor: pointer;
}

#tdn-consent-accept-btn {
    color: #fff;
}

#tdn-consent-decline-btn {
    background: #fff;
    color: #334155;
    border: 1px solid #cbd5e1;
}

/* Messages */
#tdn-chatbot-messages {
    flex: 1;
    padding: 16px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #fff;
    scroll-behavior: smooth;
}

.tdn-hidden-messages {
    opacity: 0.5;
    pointer-events: none;
}

.tdn-msg {
    display: flex;
    flex-direction: column;
    max-width: 82%;
}

.tdn-msg-bot {
    align-self: flex-start;
}

.tdn-msg-user {
    align-self: flex-end;
}

.tdn-msg-bubble {
    padding: 10px 14px;
    font-size: 13px;
    line-height: 1.5;
}

.tdn-msg-bot .tdn-msg-bubble {
    background: #f1f5f9;
    color: #334155;
    border-radius: 12px 12px 12px 0;
}

.tdn-msg-user .tdn-msg-bubble {
    background: var(--tdn-primary, #0ea5e9);
    color: #fff;
    border-radius: 12px 12px 0 12px;
}

#tdn-chatbot-window .tdn-product-results{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px;width:92%;align-self:flex-start;margin:0 0 4px}
#tdn-chatbot-window .tdn-product-card{display:flex!important;flex-wrap:wrap!important;gap:6px!important;align-items:center!important;padding:7px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important;box-shadow:0 3px 10px rgba(15,23,42,.07)!important;color:#0f172a!important;overflow:hidden!important}
#tdn-chatbot-window .tdn-product-main{display:flex!important;gap:8px!important;align-items:center!important;min-width:0!important;flex:1 1 100%!important;text-decoration:none!important;color:#0f172a!important}
.tdn-product-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(15,23,42,.12)}
#tdn-chatbot-window .tdn-product-image{display:block!important;width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;max-height:52px!important;flex:0 0 52px!important;object-fit:contain!important;border-radius:8px!important;background:#f8fafc!important;margin:0!important;padding:0!important}
.tdn-product-info{display:flex;min-width:0;flex-direction:column;gap:3px}
.tdn-product-name{font-size:12.5px;line-height:1.35;color:#0f172a;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.tdn-product-price{font-size:13px;font-weight:800;color:#dc2626}.tdn-product-price del{font-size:10px;color:#94a3b8;font-weight:500}.tdn-product-price ins{text-decoration:none}
.tdn-product-link{font-size:11px;font-weight:700;color:var(--tdn-primary,#0ea5e9)}
.tdn-product-order-btn{width:100%;border:0;border-radius:8px;padding:7px 9px;background:var(--tdn-primary,#0ea5e9);color:#fff;font-size:11px;font-weight:800;cursor:pointer}
#tdn-chatbot-widget-container #tdn-chatbot-window .tdn-inline-order-form{all:initial;box-sizing:border-box!important;width:94%!important;height:auto!important;min-height:0!important;max-height:none!important;align-self:flex-start!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;margin:0!important;padding:0 13px 13px!important;background:linear-gradient(180deg,#f0fdfa 0,#fff 40%)!important;border:1px solid #99f6e4!important;border-radius:17px!important;box-shadow:0 10px 26px rgba(15,118,110,.13)!important;overflow:visible!important;opacity:1!important;visibility:visible!important;position:relative!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif!important;color:#0f172a!important}
#tdn-chatbot-window .tdn-order-head{box-sizing:border-box!important;margin:0 -13px!important;padding:12px 13px 10px!important;background:linear-gradient(135deg,var(--tdn-primary,#0f9c95),#087f79)!important;color:#fff!important;display:flex!important;flex-direction:column!important;gap:2px!important;border-radius:16px 16px 0 0!important;min-height:54px!important}.tdn-order-badge{font-size:8px!important;font-weight:900!important;letter-spacing:1.1px!important;opacity:.85!important}.tdn-order-title{font-size:14px!important;line-height:18px!important;color:#fff!important}
#tdn-chatbot-window .tdn-order-product{box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;padding:7px!important;background:#fff!important;border:1px solid #dbeafe!important;border-radius:11px!important;min-height:58px!important}.tdn-order-product img{display:block!important;width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;max-height:44px!important;object-fit:contain!important;margin:0!important;padding:0!important}.tdn-order-product>span{display:flex!important;min-width:0!important;flex-direction:column!important;gap:2px!important}.tdn-order-product b{font-size:11px!important;line-height:1.35!important;color:#0f172a!important}.tdn-order-product em{font-style:normal!important;font-size:12px!important;font-weight:900!important;color:#dc2626!important}
#tdn-chatbot-window .tdn-order-field{box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;opacity:1!important;visibility:visible!important}.tdn-order-field>span,.tdn-order-qty-label>span{display:block!important;font-size:10px!important;line-height:13px!important;font-weight:800!important;color:#334155!important;margin:0!important;padding:0!important}
#tdn-chatbot-window .tdn-inline-order-form input,#tdn-chatbot-window .tdn-inline-order-form textarea{appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;display:block!important;position:static!important;float:none!important;width:100%!important;min-width:0!important;max-width:none!important;height:38px!important;min-height:38px!important;max-height:none!important;margin:0!important;padding:9px 10px!important;border:1px solid #cbd5e1!important;border-radius:9px!important;font-family:inherit!important;font-size:12px!important;line-height:18px!important;font-weight:400!important;color:#0f172a!important;background:#fff!important;opacity:1!important;visibility:visible!important;outline:none!important;box-shadow:none!important;transform:none!important}.tdn-inline-order-form textarea{height:58px!important;min-height:58px!important;resize:vertical!important}.tdn-inline-order-form input:focus,.tdn-inline-order-form textarea:focus{border-color:var(--tdn-primary,#0f9c95)!important;box-shadow:0 0 0 3px rgba(15,156,149,.12)!important}
#tdn-chatbot-window .tdn-order-row{box-sizing:border-box!important;display:grid!important;grid-template-columns:66px minmax(0,1fr)!important;align-items:end!important;gap:8px!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important}.tdn-order-qty-label{display:grid!important;gap:5px!important;width:66px!important}.tdn-order-row .tdn-order-qty{width:66px!important}.tdn-order-row .tdn-order-submit{appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;height:38px!important;min-height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:100%!important;margin:0!important;padding:8px!important;border:0!important;border-radius:9px!important;background:linear-gradient(135deg,var(--tdn-primary,#0f9c95),#087f79)!important;color:#fff!important;font-size:11px!important;line-height:15px!important;font-weight:900!important;cursor:pointer!important;box-shadow:0 5px 12px rgba(15,118,110,.2)!important;opacity:1!important;visibility:visible!important}.tdn-order-row button i{font-style:normal!important;font-size:16px!important}.tdn-inline-order-form small{display:block!important;font-size:9px!important;line-height:1.35!important;color:#64748b!important;text-align:center!important;margin:0!important;padding:0!important}.tdn-order-error{display:none!important;padding:7px 9px!important;border-radius:8px!important;background:#fef2f2!important;color:#b91c1c!important;font-size:10px!important;line-height:1.4!important}.tdn-order-error.tdn-show{display:block!important}

/* Typing Indicator Animation */
#tdn-chatbot-typing {
    padding: 12px 20px;
    background: #fff;
    display: flex;
    gap: 4px;
}

#tdn-chatbot-typing.tdn-hidden {
    display: none !important;
}

#tdn-chatbot-typing span {
    width: 6px;
    height: 6px;
    background: #94a3b8;
    border-radius: 50%;
    animation: tdn-typing-animation 1.4s infinite ease-in-out;
}

#tdn-chatbot-typing span:nth-child(2) { animation-delay: 0.2s; }
#tdn-chatbot-typing span:nth-child(3) { animation-delay: 0.4s; }
#tdn-chatbot-typing em{font-style:normal;font-size:11px;color:#64748b;margin-left:6px}

@keyframes tdn-typing-animation {
    0%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-6px); }
}

/* Custom Input Area */
.tdn-chat-input-area {
    padding: 12px;
    border-top: 1px solid #f1f5f9;
    background: #fff;
}

#tdn-chatbot-input-form {
    display: flex;
    gap: 8px;
    margin: 0;
}

#tdn-chatbot-input-text {
    flex: 1;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 8px 16px;
    font-size: 13px;
    outline: none;
    transition: border 0.2s;
}

#tdn-chatbot-input-text:focus {
    border-color: var(--tdn-primary, #0ea5e9);
}

#tdn-chatbot-send-btn {
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}

.tdn-footer-credit {
    font-size: 9px;
    color: #cbd5e1;
    text-align: center;
    padding-bottom: 6px;
    background: #fff;
}
.tdn-footer-credit a{color:#0f766e;text-decoration:none;font-weight:700}
#tdn-chatbot-widget-container #tdn-chatbot-window .tdn-chat-header{box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;justify-content:initial!important;gap:10px!important;width:100%!important;min-height:78px!important;padding:14px 16px!important;position:relative!important}
#tdn-chatbot-widget-container #tdn-chatbot-window .tdn-bot-info{box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;width:auto!important;margin:0!important;padding:0!important;position:static!important}
#tdn-chatbot-widget-container #tdn-chatbot-window .tdn-bot-info>div{display:block!important;min-width:0!important;flex:1 1 auto!important;margin:0!important;padding:0!important}
#tdn-chatbot-widget-container #tdn-chatbot-window .tdn-header-avatar{display:block!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;margin:0!important;padding:0!important;position:static!important}
#tdn-chatbot-widget-container #tdn-chatbot-window .tdn-bot-title{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:18px!important}
#tdn-chatbot-widget-container #tdn-chatbot-window .tdn-bot-status{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;width:auto!important;max-width:none!important;margin:3px 0 0!important;padding:0!important;white-space:nowrap!important;font-size:10px!important;line-height:14px!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tdn-chatbot-widget-container #tdn-chatbot-window .tdn-header-actions{box-sizing:border-box!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:2px!important;width:auto!important;min-width:66px!important;height:34px!important;margin:0!important;padding:0!important;position:static!important;inset:auto!important;float:none!important}
#tdn-chatbot-widget-container #tdn-chatbot-window .tdn-header-actions button{box-sizing:border-box!important;display:inline-flex!important;float:none!important;position:static!important;inset:auto!important;align-items:center!important;justify-content:center!important;flex:0 0 32px!important;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#fff!important;cursor:pointer!important;opacity:.9!important;transform:none!important}
#tdn-chatbot-widget-container #tdn-chatbot-window .tdn-header-actions button:hover{background:rgba(255,255,255,.16)!important;opacity:1!important}
#tdn-chatbot-widget-container #tdn-chatbot-window .tdn-header-actions #tdn-chatbot-close-btn{font-size:25px!important;line-height:25px!important}
#tdn-chatbot-widget-container #tdn-chatbot-window .tdn-header-actions #tdn-chatbot-clear-btn svg{display:block!important;width:16px!important;height:16px!important;margin:0!important}
#tdn-chatbot-widget-container #tdn-chatbot-window .tdn-header-actions #tdn-chatbot-clear-btn:disabled{opacity:.45!important;cursor:wait!important}

/* Mobile responsive styles */
@media (max-width: 480px) {
    #tdn-chatbot-window {
        width: calc(100vw - 32px);
        height: min(640px, calc(100dvh - 96px));
        bottom: 76px;
        border-radius: 14px;
    }
    #tdn-chatbot-widget-container #tdn-chatbot-window .tdn-chat-header{min-height:72px!important;padding:11px 12px!important;gap:7px!important}
    #tdn-chatbot-widget-container #tdn-chatbot-window .tdn-header-actions{min-width:62px!important}
    #tdn-chatbot-widget-container #tdn-chatbot-window .tdn-header-actions button{flex-basis:30px!important;width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;min-height:30px!important;max-height:30px!important}
    #tdn-chatbot-messages{padding:12px}
    .tdn-chatbot-quick-tips{max-height:84px;padding:8px 10px}
    .tdn-chat-input-area{padding:9px 10px calc(9px + env(safe-area-inset-bottom))}
    .tdn-product-results,.tdn-inline-order-form{width:100%}
    #tdn-chatbot-window .tdn-product-image{width:46px!important;min-width:46px!important;max-width:46px!important;height:46px!important;min-height:46px!important;max-height:46px!important;flex-basis:46px!important}
}

/* 📞 Nút Hotline độc lập bên ngoài */
#tdn-chatbot-external-hotline {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: #dc2626;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 20px rgba(220, 38, 38, 0.4);
    border: 1px solid #ef4444;
    text-decoration: none;
    margin-bottom: 12px;
    transition: all 0.3s ease;
    cursor: pointer;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
}

#tdn-chatbot-external-hotline:hover {
    transform: scale(1.1);
    background-color: #b91c1c;
    box-shadow: 0 8px 24px rgba(220, 38, 38, 0.6);
}

#tdn-chatbot-external-hotline svg {
    margin-bottom: 1px;
    animation: tdn-phone-shake 1.2s infinite;
}

/* 💬 Bong bóng đề xuất tự hỏi ngoài icon chat - Mô phỏng tin nhắn chat tự nhiên */
#tdn-chatbot-suggest-bubble {
    width: 270px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.12);
    border-radius: 18px;
    padding: 10px 12px;
    margin-bottom: 12px;
    position: relative;
    cursor: pointer;
    color: #1e293b;
    font-family: inherit;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

/* Ẩn bong bóng đề xuất hoàn toàn trên mobile để tránh chật hẹp ảnh hưởng trải nghiệm */
@media (max-width: 768px) {
    #tdn-chatbot-suggest-bubble {
        display: none !important;
    }
}

.tdn-suggest-close-btn {
    position: absolute;
    top: 8px;
    right: 10px;
    background: none !important;
    border: none !important;
    color: #94a3b8 !important;
    font-size: 16px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    padding: 2px !important;
    line-height: 1 !important;
    transition: color 0.2s !important;
    z-index: 50 !important;
}

.tdn-suggest-close-btn:hover {
    color: #475569 !important;
}

#tdn-chatbot-suggest-bubble.tdn-hidden {
    display: none !important;
}

#tdn-chatbot-suggest-bubble::after {
    content: '';
    position: absolute;
    bottom: -6px;
    right: 22px;
    width: 12px;
    height: 12px;
    background: #ffffff;
    border-right: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    transform: rotate(45deg);
}

.tdn-suggest-sender {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    padding-right: 20px;
}

.tdn-suggest-avatar-wrap {
    position: relative;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

.tdn-suggest-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #38bdf8;
}

.tdn-suggest-online-dot {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 7px;
    height: 7px;
    background: #10b981;
    border: 1.5px solid #fff;
    border-radius: 50%;
}

.tdn-suggest-sender-info {
    display: flex;
    flex-direction: column;
}

.tdn-suggest-name {
    font-size: 11px;
    font-weight: 700;
    color: var(--tdn-name-color, #0f172a);
    line-height: 1.2;
}

.tdn-suggest-time {
    font-size: 9px;
    color: #94a3b8;
    font-weight: 500;
}

.tdn-suggest-chat-bubble {
    background: #f0f9ff;
    border: 1px solid #e0f2fe;
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.45;
    margin-bottom: 6px;
}

.tdn-suggest-items-wrapper {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tdn-suggest-item-btn {
    text-align: left;
    background: #0284c7;
    border: none;
    color: #ffffff;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    outline: none;
    white-space: normal;
    word-wrap: break-word;
    line-height: 1.4;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tdn-suggest-item-btn:hover {
    background: #0369a1;
    transform: translateX(2px);
}

/* 💬 Danh sách câu hỏi gợi ý nhanh trong panel chat */
.tdn-chatbot-quick-tips {
    background: #f8fafc;
    border-top: 1px solid #f1f5f9;
    padding: 10px 14px;
    max-height: 110px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tdn-quick-tips-head {
    font-size: 9px;
    font-weight: 950;
    text-transform: uppercase;
    color: #0d9488;
    margin: 0 0 4px 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

.tdn-quick-tips-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tdn-quick-tips-btn {
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #0ea5e9;
    padding: 6px 12px;
    border-radius: 12px;
    font-size: 10px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.2s;
    outline: none;
    white-space: normal;
    word-wrap: break-word;
    text-align: left;
    max-width: 100%;
    line-height: 1.4;
}

.tdn-quick-tips-btn:hover {
    background: #f0f9ff;
    border-color: #0ea5e9;
    transform: translateY(-1px);
}

/* 🌀 Các chuyển động hoạt họa (Animations) */
.tdn-wiggle {
    animation: tdn-wiggle-keyframes 1.2s ease-in-out;
}

@keyframes tdn-wiggle-keyframes {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    15% { transform: translateY(-8px) rotate(-3deg); }
    30% { transform: translateY(-4px) rotate(3deg); }
    45% { transform: translateY(-8px) rotate(-3deg); }
    60% { transform: translateY(-4px) rotate(2deg); }
    75% { transform: translateY(-6px) rotate(-1deg); }
    90% { transform: translateY(-2px) rotate(0deg); }
}

@keyframes tdn-phone-shake {
    0%, 100% { transform: rotate(0); }
    10% { transform: rotate(-15deg); }
    20% { transform: rotate(15deg); }
    30% { transform: rotate(-15deg); }
    40% { transform: rotate(15deg); }
    50% { transform: rotate(0); }
}

@keyframes tdn-flicker {
    0%, 100% { opacity: 0.4; transform: scale(0.9); }
    50% { opacity: 1; transform: scale(1.1); }
}

/* 🔀 Segmented Switcher & Zalo Panel CSS */
.tdn-channel-switcher {
    display: flex;
    background: #0f172a;
    padding: 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.tdn-switch-btn {
    flex: 1;
    background: transparent;
    border: 1px solid transparent;
    color: #94a3b8;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 800;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    outline: none;
}

.tdn-switch-btn:hover {
    color: #e2e8f0;
    background: rgba(255, 255, 255, 0.05);
}

.tdn-switch-btn.tdn-switch-active {
    background: rgba(14, 165, 233, 0.12);
    border-color: rgba(14, 165, 233, 0.25);
    color: #38bdf8;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2);
}

#tdn-zalo-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #1e293b, #0f172a);
    padding: 20px;
    text-align: center;
    overflow-y: auto;
    flex: 1;
}

.tdn-zalo-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.tdn-zalo-logo-wrap {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(34, 211, 238, 0.1);
    border: 1px solid rgba(34, 211, 238, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 10px;
}

#tdn-zalo-panel h4 {
    font-size: 13px;
    font-weight: bold;
    color: #ffffff;
    margin: 0 0 6px 0;
    line-height: 1.4;
}

#tdn-zalo-panel p {
    font-size: 10px;
    color: #cbd5e1;
    margin: 0 0 16px 0;
    line-height: 1.5;
    max-width: 250px;
}

.tdn-zalo-qr-card {
    background: #ffffff;
    padding: 8px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 16px;
    border: 2px solid rgba(34, 211, 238, 0.3);
}

.tdn-zalo-qr-card img {
    width: 110px;
    height: 110px;
    display: block;
}

.tdn-zalo-qr-lbl {
    font-size: 8px;
    font-weight: 800;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 4px;
}

.tdn-zalo-btn-call {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: #0369a1;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 11px;
    font-weight: 900;
    padding: 10px 15px;
    border-radius: 12px;
    width: 100%;
    box-sizing: border-box;
    max-width: 220px;
    box-shadow: 0 4px 12px rgba(3, 105, 161, 0.3);
    transition: all 0.2s;
}

.tdn-zalo-btn-call:hover {
    background: #0284c7;
    transform: translateY(-1px);
}

.tdn-zalo-footer-hotline {
    margin-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding-top: 12px;
    width: 100%;
}

.tdn-zalo-footer-hotline span {
    font-size: 9px;
    color: #94a3b8;
    text-transform: uppercase;
    display: block;
    margin-bottom: 2px;
}

.tdn-zalo-footer-hotline a {
    font-size: 11px;
    color: #f43f5e !important;
    font-weight: 800;
    text-decoration: none;
}

/* Keep the unread counter visible outside the circular avatar. */
#tdn-chatbot-toggle-btn { overflow: visible; }
#tdn-chatbot-toggle-btn img.tdn-avatar-img { border-radius: 50%; }
#tdn-chatbot-unread { position: absolute; top: -5px; right: -5px; min-width: 22px; height: 22px; padding: 0 5px; box-sizing: border-box; border: 2px solid #fff; border-radius: 999px; background: #dc2626; color: #fff; font: 700 12px/18px Arial, sans-serif; text-align: center; pointer-events: none; }
#tdn-chatbot-unread[hidden] { display: none !important; }
