
/* FAB */
.nlb-fab{position:fixed;z-index:99998;bottom:20px;right:20px;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#111827;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.2);cursor:pointer;overflow:hidden}
.nlb-fab img{max-width:100%;max-height:100%;object-fit:contain}

/* PANEL */
.nlb-panel{position:fixed;z-index:99999;bottom:90px;right:20px;width:360px;max-width:95vw;height:520px;max-height:75vh;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 16px 40px rgba(0,0,0,.18);display:none;overflow:hidden;flex-direction:column}
.nlb-head{background:#111827;color:#fff;padding:12px 14px;font-weight:600;display:flex;align-items:center;justify-content:space-between}
.nlb-top{padding:10px 12px;border-bottom:1px solid #eef0f3;background:#f9fbff}
.nlb-top.hidden{display:none}
.nlb-suggestions{display:flex;gap:8px;flex-wrap:wrap}
.nlb-chip{background:#f3f6ff;border:1px solid #e2e8f0;border-radius:999px;padding:6px 10px;font-size:12px;cursor:pointer;text-transform:uppercase;font-weight:700;letter-spacing:.2px;color:#344155}
.nlb-chip:hover{background:#eef2ff}
.nlb-body{flex:1;padding:12px;overflow:auto;background:#fafafa}
.nlb-msg{margin:6px 0;display:flex}
.nlb-msg.me{justify-content:flex-end}
.nlb-bubble{max-width:85%;padding:10px 12px;border-radius:12px;line-height:1.35;font-size:14px;word-break:break-word;overflow-wrap:anywhere}
.nlb-bubble a{word-break:break-word;overflow-wrap:anywhere;display:inline-block;max-width:100%}
.nlb-msg.me .nlb-bubble{background:#111827;color:#fff;border-bottom-right-radius:4px}
.nlb-msg.bot .nlb-bubble{background:#fff;border:1px solid #e5e7eb;color:#111827;border-bottom-left-radius:4px}
.nlb-foot{padding:10px;border-top:1px solid #e5e7eb;background:#fff;display:flex;gap:8px;align-items:center}
.nlb-input{flex:1;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;font-size:14px}
.nlb-btn{background:#111827;color:#fff;border:none;border-radius:10px;padding:10px 14px;font-size:14px;cursor:pointer}
.nlb-cta{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}
.nlb-cta a,.nlb-cta button{border:1px solid #e5e7eb;background:#fff;color:#111827;border-radius:10px;padding:8px 10px;font-size:13px;cursor:pointer;text-decoration:none}
.nlb-disclaimer{margin-top:8px;font-size:11px;opacity:.6}

/* Product cards */
.nlb-card{border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:10px;width:100%;display:flex;gap:10px;align-items:center}
.nlb-card img{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid #f0f0f0;background:#fff}
.nlb-card .meta{flex:1}
.nlb-card .ttl{font-size:13px;font-weight:700;margin-bottom:2px}
.nlb-card .price{font-size:12px;opacity:.8}

/* Typing animation */
@keyframes nlb-dots{0%{content:''}33%{content:'.'}66%{content:'..'}100%{content:'...'}}
.nlb-typing::after{content:'';animation:nlb-dots 1.2s infinite steps(1,end);margin-left:2px}

/* Free shipping popup */
.nlb-freebar{position:fixed;z-index:99996;bottom:90px;right:90px;background:#111827;color:#fff;padding:10px 12px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);display:none;font-size:13px}
.nlb-freebar.left{right:auto;left:90px}
.nlb-freebar .x{background:transparent;border:none;color:#fff;font-size:16px;line-height:1;cursor:pointer;opacity:.8;margin-left:8px}
@media (max-width: 480px){ .nlb-freebar{bottom:82px;right:20px;left:auto} .nlb-freebar.left{left:20px;right:auto} }

/* Welcome bubble */
.nlb-welcome{white-space:nowrap;position:fixed;z-index:99997;bottom:90px;right:90px;background:#fff;border:1px solid #e5e7eb;color:#111827;padding:10px 12px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.15);display:none;align-items:center;gap:8px;font-size:14px;max-width:none}
.nlb-welcome.left{right:auto;left:90px}
.nlb-welcome .x{background:transparent;border:none;font-size:16px;line-height:1;cursor:pointer;margin-left:auto;color:#6b7280}
@media (max-width:480px){ .nlb-welcome{white-space:nowrap;right:20px;left:auto;bottom:82px} .nlb-welcome.left{left:20px;right:auto} }

/* Sources toggle */
.nlb-sources{margin-top:6px}
.nlb-sources-toggle{background:#f3f4f6;border:1px solid #e5e7eb;color:#374151;border-radius:999px;padding:4px 8px;font-size:11px;cursor:pointer}
.nlb-sources-list{margin-top:6px;border:1px dashed #e5e7eb;border-radius:10px;padding:8px;background:#fff;max-height:140px;overflow:auto;display:none}
.nlb-sources-list a{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

/* Ensure welcome bubble stays on one line with graceful truncation on very small screens */
@media (max-width:480px){
  .nlb-welcome{max-width:90vw;overflow:hidden;text-overflow:ellipsis}
}

/* Session coupon countdown bar */
.nlb-coupon-bar{position:fixed;z-index:99996;right:90px;bottom:90px;background:#111827;color:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.2);padding:10px 12px;display:none;align-items:center;gap:10px}
.nlb-coupon-bar.min{padding:6px 10px}
.nlb-coupon-timer{font-variant-numeric:tabular-nums;font-weight:700}
.nlb-coupon-meta{font-size:12px;opacity:.9}
.nlb-coupon-close{background:transparent;border:none;color:#9ca3af;cursor:pointer;font-size:16px;line-height:1;margin-left:6px}
@media(max-width:480px){.nlb-coupon-bar{right:20px;bottom:82px}}
