.nlc-chat{position:fixed;right:20px;bottom:20px;z-index:120;font-family:var(--font-body,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif)}
/* the HTML [hidden] attribute must win over the display rules below */
.nlc-chat [hidden]{display:none!important}

/* floating "Chat with us" label above the bubble.
   Shown only once JS marks the widget ready and the panel is closed — so it can
   never flash/flicker on load regardless of stylesheet cache state. */
.nlc-chat-tip{position:absolute;right:2px;bottom:76px;background:linear-gradient(135deg,#fffdf9,#fdf3e3);
  border:1px solid rgba(199,154,75,.35);box-shadow:0 14px 30px -14px rgba(180,120,40,.5);
  border-radius:14px;padding:.6rem .95rem;white-space:nowrap;cursor:pointer;display:none;align-items:center;gap:.5rem}
.nlc-chat.is-ready:not(.is-open) .nlc-chat-tip{display:flex;animation:nlc-tip 3s ease-in-out infinite}
.nlc-chat-tip-ic{width:20px;height:20px;flex:0 0 20px;display:block;filter:drop-shadow(0 1px 2px rgba(244,162,63,.4))}
.nlc-chat-tip-tx{font-family:var(--font-display,Georgia,"Times New Roman",serif);font-style:italic;font-weight:600;
  font-size:1.02rem;color:#20242b;line-height:1}
.nlc-chat-tip::after{content:"";position:absolute;right:24px;bottom:-6px;width:12px;height:12px;
  background:#fdf3e3;border-right:1px solid rgba(199,154,75,.35);border-bottom:1px solid rgba(199,154,75,.35);transform:rotate(45deg)}
@keyframes nlc-tip{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (prefers-reduced-motion: reduce){.nlc-chat.is-ready:not(.is-open) .nlc-chat-tip{animation:none}}
.nlc-chat-bubble{position:relative;width:60px;height:60px;border-radius:50%;border:0;cursor:pointer;color:#fff;
  background:linear-gradient(135deg,#c79a4b,#b3863a);box-shadow:0 12px 30px -10px rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;transition:transform .18s}
.nlc-chat-bubble:hover{transform:translateY(-2px) scale(1.04)}
.nlc-chat-bubble.is-open{background:linear-gradient(135deg,#0f6c7d,#1b94a8)}
.nlc-chat-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:999px;background:#e2725b;color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid #fff}

.nlc-chat-panel{position:absolute;right:0;bottom:74px;width:340px;max-width:calc(100vw - 32px);height:460px;max-height:calc(100vh - 120px);
  background:#fffdf9;border:1px solid rgba(32,36,43,.12);border-radius:16px;box-shadow:0 30px 70px -28px rgba(15,108,125,.6);
  display:flex;flex-direction:column;overflow:hidden}
.nlc-chat-head{background:linear-gradient(135deg,#0f6c7d,#1b94a8);color:#fff;padding:.9rem 1rem;display:flex;align-items:center;justify-content:space-between}
.nlc-chat-head strong{font-size:1.02rem}
.nlc-chat-status{display:inline-block;margin-left:.5rem;font-size:.72rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
.nlc-chat-status.on{background:rgba(27,122,69,.9)}.nlc-chat-status.off{background:rgba(255,255,255,.22)}
.nlc-chat-close{background:none;border:0;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;opacity:.85}
.nlc-chat-close:hover{opacity:1}

/* Premium-service promo strip (between header and chat body) */
.nlc-chat-promo{display:flex;align-items:center;gap:.6rem;text-decoration:none;
  padding:.55rem .7rem;background:linear-gradient(100deg,#fff7e6,#fdeccb);
  border-bottom:1px solid rgba(199,154,75,.4);
  border-left:3px solid #c79a4b;transition:background .2s}
.nlc-chat-promo:hover{background:linear-gradient(100deg,#fff2d6,#fbe3b6)}
.nlc-promo-thumb{flex:0 0 38px;width:38px;height:38px;border-radius:8px;background-size:cover;background-position:center;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.nlc-promo-tx{display:flex;flex-direction:column;line-height:1.2;min-width:0;flex:1}
.nlc-promo-kicker{font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#b3863a}
.nlc-promo-title{font-size:.86rem;font-weight:700;color:#2a2118;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nlc-promo-tag{font-size:.7rem;color:#7a6a4a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nlc-promo-arrow{flex:0 0 auto;color:#b3863a;font-weight:700;transition:transform .2s}
.nlc-chat-promo:hover .nlc-promo-arrow{transform:translateX(3px)}

.nlc-chat-body{flex:1;overflow-y:auto;padding:1rem;background:#f6efe3}
.nlc-id-form{display:flex;flex-direction:column;gap:.6rem}
.nlc-id-lead{margin:.2rem 0 .4rem;color:#6b6256;font-size:.92rem}
.nlc-id-form input:not([type=checkbox]){padding:.65rem .7rem;border:1px solid rgba(32,36,43,.15);border-radius:9px;font:inherit}
.nlc-id-form input:focus{outline:none;border-color:#1b94a8;box-shadow:0 0 0 3px rgba(27,148,168,.15)}
.nlc-id-consent{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;line-height:1.4;color:#6b6256;cursor:pointer}
.nlc-id-consent input{flex:0 0 auto;margin-top:.15rem;accent-color:#1b94a8;cursor:pointer}
.nlc-id-consent a{color:#1b94a8}
.nlc-id-start{margin-top:.2rem;background:linear-gradient(135deg,#c79a4b,#b3863a);color:#fff;border:0;border-radius:9px;padding:.7rem;font:inherit;font-weight:600;cursor:pointer}
.nlc-id-msg{font-size:.82rem;color:#c0432c;margin:.2rem 0 0;min-height:1em}

.nlc-thread{display:flex;flex-direction:column;gap:.5rem}
.nlc-msg{max-width:80%;padding:.55rem .8rem;border-radius:14px;font-size:.92rem;line-height:1.4;word-wrap:break-word}
.nlc-msg.me{align-self:flex-end;background:linear-gradient(135deg,#c79a4b,#b3863a);color:#fff;border-bottom-right-radius:4px}
.nlc-msg.op{align-self:flex-start;background:#fff;color:#20242b;border:1px solid rgba(32,36,43,.1);border-bottom-left-radius:4px}
.nlc-msg.sys{align-self:center;background:transparent;color:#6b6256;font-size:.82rem;text-align:center;max-width:100%}

.nlc-chat-input{display:flex;gap:.4rem;padding:.6rem;background:#fffdf9;border-top:1px solid rgba(32,36,43,.1)}
.nlc-chat-input input{flex:1;padding:.6rem .7rem;border:1px solid rgba(32,36,43,.15);border-radius:9px;font:inherit}
.nlc-chat-input input:focus{outline:none;border-color:#1b94a8;box-shadow:0 0 0 3px rgba(27,148,168,.15)}
.nlc-chat-input button{background:linear-gradient(135deg,#0f6c7d,#1b94a8);color:#fff;border:0;border-radius:9px;width:42px;font-size:1.1rem;cursor:pointer}
@media(max-width:480px){.nlc-chat-panel{height:70vh}}
