/* === CHAT WIDGET v2 === */
:root{--cp:#2d6a4f;--cp-dark:#1a3d27;--cp-light:#52b788;--cg:#f0f9f0;--cshadow:0 8px 40px rgba(45,106,79,.25);--cr:18px;--cw:390px;--ch:580px;--ctr:.35s cubic-bezier(.4,0,.2,1)}
@keyframes chatPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
@keyframes msgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes tdBounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}
@keyframes tooltipIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.chat-launcher{position:fixed;bottom:28px;right:28px;z-index:9000;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.chat-launcher *{pointer-events:auto}
.chat-bubble-btn{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--cp),var(--cp-dark));color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 28px rgba(45,106,79,.45);transition:var(--ctr);position:relative;overflow:visible}
.chat-bubble-btn:hover{transform:scale(1.08);box-shadow:0 10px 36px rgba(45,106,79,.55)}
.chat-bubble-btn svg{transition:var(--ctr)}
.chat-bubble-btn.open .icon-chat{opacity:0;transform:rotate(90deg) scale(.5)}
.chat-bubble-btn.open .icon-close{opacity:1;transform:rotate(0) scale(1)}
.icon-close{position:absolute;opacity:0;transform:rotate(-90deg) scale(.5)}
.chat-tooltip{background:#fff;border-radius:12px;padding:10px 16px;box-shadow:0 4px 20px rgba(0,0,0,.12);font-size:.83rem;font-family:'Sarabun',sans-serif;color:#1e293b;max-width:210px;line-height:1.4;display:none;animation:tooltipIn .4s ease forwards;position:relative}
.chat-tooltip::after{content:'';position:absolute;bottom:-6px;right:22px;border:6px solid transparent;border-top-color:#fff;border-bottom:none}
.chat-panel{position:fixed;bottom:100px;right:28px;width:var(--cw);height:var(--ch);background:#fff;border-radius:var(--cr);box-shadow:var(--cshadow);z-index:8999;display:flex;flex-direction:column;overflow:hidden;transform:scale(.88) translateY(24px);opacity:0;visibility:hidden;transform-origin:bottom right;transition:var(--ctr);border:1px solid rgba(82,183,136,.18)}
.chat-panel.open{transform:scale(1) translateY(0);opacity:1;visibility:visible}
.chat-header{background:linear-gradient(135deg,var(--cp-dark),var(--cp));padding:14px 16px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.chat-header-avatar{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;border:2px solid rgba(255,255,255,.3)}
.chat-header-info{flex:1}
.chat-header-name{color:#fff;font-weight:700;font-size:.9rem;line-height:1.2}
.chat-header-status{color:rgba(255,255,255,.75);font-size:.72rem;display:flex;align-items:center;gap:5px}
.status-dot{width:7px;height:7px;background:#4ade80;border-radius:50%;animation:chatPulse 2s infinite}
.chat-header-actions{display:flex;gap:5px}
.chat-hbtn{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.15);border:none;color:rgba(255,255,255,.9);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:.2s}
.chat-hbtn:hover{background:rgba(255,255,255,.28)}
.chat-suggestions{padding:8px 12px 6px;display:flex;gap:5px;flex-wrap:wrap;background:var(--cg);border-bottom:1px solid #e2e8f0;flex-shrink:0}
.suggest-btn{padding:4px 10px;background:#fff;border:1.5px solid #c8e6c8;border-radius:50px;font-size:.73rem;font-weight:600;color:var(--cp);cursor:pointer;transition:.2s;white-space:nowrap;font-family:'Sarabun',sans-serif}
.suggest-btn:hover{background:var(--cp);color:#fff;border-color:var(--cp)}
.chat-messages{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:10px;background:var(--cg);scroll-behavior:smooth}
.chat-messages::-webkit-scrollbar{width:3px}
.chat-messages::-webkit-scrollbar-thumb{background:#c8e6c8;border-radius:3px}
.msg-row{display:flex;gap:7px;align-items:flex-end;animation:msgIn .3s ease}
.msg-row.user{flex-direction:row-reverse}
.msg-avatar{width:28px;height:28px;border-radius:50%;background:#e8f5e0;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}
.msg-row.user .msg-avatar{background:var(--cp)}
.msg-body{display:flex;flex-direction:column;max-width:82%}
.msg-bubble{padding:9px 13px;border-radius:15px;font-size:.855rem;line-height:1.62;word-break:break-word;white-space:pre-wrap;font-family:'Sarabun',sans-serif}
.msg-row.bot .msg-bubble{background:#fff;color:#1e293b;border-bottom-left-radius:4px;border:1px solid #e2e8f0;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.msg-row.user .msg-bubble{background:var(--cp);color:#fff;border-bottom-right-radius:4px}
.msg-time{font-size:.64rem;color:#94a3b8;margin-top:2px;padding:0 3px}
.msg-row.bot .msg-time{text-align:left}.msg-row.user .msg-time{text-align:right}
.unknown-badge{margin-top:5px;padding:4px 10px;background:#fef9c3;border:1px solid #fde047;border-radius:8px;font-size:.72rem;color:#a16207;font-weight:600}
.typing-row{display:flex;gap:7px;align-items:flex-end}
.typing-bubble{background:#fff;border:1px solid #e2e8f0;border-radius:15px;border-bottom-left-radius:4px;padding:11px 15px;display:flex;gap:5px}
.td{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:tdBounce 1.2s infinite}
.td:nth-child(2){animation-delay:.15s}.td:nth-child(3){animation-delay:.3s}
.chat-welcome{text-align:center;padding:20px 14px}
.chat-welcome-icon{font-size:2.5rem;margin-bottom:8px}
.chat-welcome h4{font-size:.9rem;color:var(--cp);font-weight:700;margin-bottom:4px}
.chat-welcome p{font-size:.78rem;color:#64748b;line-height:1.5}
.chat-input-area{padding:10px 12px;background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0}
.chat-input-row{display:flex;gap:7px;align-items:flex-end}
.chat-textarea{flex:1;padding:9px 13px;border:1.5px solid #e2e8f0;border-radius:20px;font-size:.855rem;font-family:'Sarabun',sans-serif;color:#1e293b;resize:none;max-height:100px;min-height:40px;line-height:1.5;background:var(--cg);transition:.2s}
.chat-textarea:focus{outline:none;border-color:var(--cp-light);background:#fff;box-shadow:0 0 0 3px rgba(82,183,136,.12)}
.chat-textarea::placeholder{color:#94a3b8}
.chat-send-btn{width:40px;height:40px;border-radius:50%;background:var(--cp);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--ctr);box-shadow:0 3px 12px rgba(45,106,79,.3)}
.chat-send-btn:hover:not(:disabled){background:var(--cp-dark);transform:scale(1.07)}
.chat-send-btn:disabled{background:#94a3b8;cursor:not-allowed;box-shadow:none}
.chat-footer-note{text-align:center;font-size:.65rem;color:#94a3b8;margin-top:5px}
.chat-footer-note a{color:var(--cp)}
/* Widgets */
.msg-widget{margin-top:8px}
.product-selector{background:#fff;border:1.5px solid #c8e6c8;border-radius:12px;overflow:hidden;font-family:'Sarabun',sans-serif}
.ps-header{padding:8px 12px;background:var(--cg);font-size:.78rem;font-weight:700;color:var(--cp);border-bottom:1px solid #e2e8f0}
.ps-list{max-height:220px;overflow-y:auto;padding:4px}
.prd-row{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;transition:.15s;font-size:.8rem}
.prd-row:hover{background:var(--cg)}
.prd-emoji{font-size:1.1rem;flex-shrink:0;width:22px;text-align:center}
.prd-name{flex:1;color:#1e293b;font-weight:600;line-height:1.3}
.prd-price{color:var(--cp);font-weight:700;white-space:nowrap}
.prd-qty-wrap{display:flex;align-items:center;gap:3px;flex-shrink:0}
.qty-m,.qty-p{width:22px;height:22px;border-radius:50%;background:var(--cg);border:1.5px solid #c8e6c8;color:var(--cp);font-weight:700;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.qty-m:hover,.qty-p:hover{background:var(--cp);color:#fff;border-color:var(--cp)}
.qty-inp{width:28px;text-align:center;border:none;font-size:.8rem;font-weight:700;color:var(--cp);background:transparent}
.ps-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid #e2e8f0;background:var(--cg)}
.ps-total{font-size:.82rem;color:#1e293b;font-weight:600}
.ps-btn{padding:6px 14px;background:var(--cp);color:#fff;border:none;border-radius:50px;font-size:.78rem;font-weight:700;cursor:pointer;font-family:'Sarabun',sans-serif;transition:.2s}
.ps-btn:hover{background:var(--cp-dark)}
.chat-form-widget{background:#fff;border:1.5px solid #c8e6c8;border-radius:12px;overflow:hidden;font-family:'Sarabun',sans-serif}
.cfw-header{padding:8px 12px;background:var(--cg);font-size:.78rem;font-weight:700;color:var(--cp);border-bottom:1px solid #e2e8f0}
.cfw-body{padding:10px 12px;display:flex;flex-direction:column;gap:7px}
.cfw-input{width:100%;padding:7px 10px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.82rem;font-family:'Sarabun',sans-serif;color:#1e293b;background:var(--cg);transition:.2s}
.cfw-input:focus{outline:none;border-color:var(--cp-light);background:#fff}
.cfw-input::placeholder{color:#94a3b8}
.cfw-submit{padding:8px;background:var(--cp);color:#fff;border:none;border-radius:8px;font-size:.82rem;font-weight:700;cursor:pointer;font-family:'Sarabun',sans-serif;transition:.2s;width:100%}
.cfw-submit:hover:not(:disabled){background:var(--cp-dark)}
.cfw-submit:disabled{background:#94a3b8;cursor:not-allowed}
.bank-widget{background:#fff;border:1.5px solid #c8e6c8;border-radius:12px;padding:12px;font-family:'Sarabun',sans-serif}
.bw-header{font-size:.78rem;font-weight:700;color:var(--cp);margin-bottom:6px}
.bw-total{font-size:.85rem;color:#1e293b;margin-bottom:10px;padding:6px 10px;background:var(--cg);border-radius:6px}
.bw-account{display:flex;flex-direction:column;gap:6px}
.bw-row{display:flex;align-items:center;gap:6px;font-size:.8rem}
.bw-row span{color:#64748b;width:80px;flex-shrink:0}
.bw-row strong{flex:1;font-family:monospace;color:#1e293b}
.bw-copy{padding:3px 8px;background:var(--cg);border:1px solid #c8e6c8;border-radius:4px;font-size:.7rem;color:var(--cp);font-weight:700;cursor:pointer;white-space:nowrap}
.bw-copy:hover{background:var(--cp);color:#fff}
.order-success-widget{background:#fff;border:1.5px solid #c8e6c8;border-radius:12px;padding:14px;text-align:center;font-family:'Sarabun',sans-serif}
.osw-icon{font-size:2.5rem;margin-bottom:6px}
.osw-num{font-size:.82rem;color:#64748b;margin-bottom:4px}
.osw-total{font-size:1rem;color:var(--cp);font-weight:700;margin-bottom:12px}
.free-ship{font-size:.7rem;background:#dcfce7;color:#15803d;padding:2px 7px;border-radius:50px;margin-left:5px}
@media(max-width:480px){:root{--cw:calc(100vw - 20px)}.chat-panel{right:10px;bottom:88px}.chat-launcher{right:14px;bottom:18px}}
