/* Chat Widget — premium glassmorphism */
/* On wide screens align to content column edge, not screen corner */
.chat-widget{position:fixed;bottom:28px;right:max(24px,calc((100vw - 1240px)/2));z-index:9999;font-family:'Inter',system-ui,sans-serif}

/* Button — green glassmorphism */
.chat-widget__btn{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,rgba(35,134,54,.85),rgba(48,163,74,.7));border:1px solid rgba(255,255,255,.15);cursor:pointer;box-shadow:0 8px 32px rgba(35,134,54,.35),inset 0 1px 0 rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;overflow:hidden}
.chat-widget__btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);border-radius:inherit;pointer-events:none}
.chat-widget__btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 40px rgba(35,134,54,.45),inset 0 1px 0 rgba(255,255,255,.2)}
.chat-widget__btn:active{transform:translateY(-1px) scale(.98)}
.chat-widget__btn svg{width:26px;height:26px;fill:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));transition:transform .3s}
.chat-widget__btn .chat-widget__close{display:none}
.chat-widget--open .chat-widget__btn .chat-widget__icon{display:none}
.chat-widget--open .chat-widget__btn .chat-widget__close{display:block}

.chat-widget__badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;background:#f85149;border-radius:10px;font-size:11px;font-weight:700;color:#fff;display:none;align-items:center;justify-content:center;border:2px solid #0d1117;padding:0 4px}
.chat-widget__badge.show{display:flex}

/* Window — glassmorphism dark */
.chat-widget__window{position:absolute;bottom:72px;right:0;width:380px;max-height:520px;background:rgba(22,27,34,.92);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;display:none;flex-direction:column;box-shadow:0 16px 64px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.05) inset;transform:translateY(20px) scale(.95);opacity:0;transition:all .35s cubic-bezier(.4,0,.2,1)}
.chat-widget--open .chat-widget__window{display:flex;transform:translateY(0) scale(1);opacity:1}

.chat-widget__header{padding:16px 20px;background:linear-gradient(135deg,rgba(35,134,54,.15),rgba(0,0,0,.2));border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:12px}
.chat-widget__header-avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#238636,#30a34a);display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(35,134,54,.3)}
.chat-widget__header-info{flex:1}
.chat-widget__header-name{color:#e6edf3;font-weight:600;font-size:.95rem}
.chat-widget__header-status{color:#3fb950;font-size:.8rem;display:flex;align-items:center;gap:4px}
.chat-widget__header-status::before{content:'';width:6px;height:6px;background:#3fb950;border-radius:50%;animation:pulse 2s infinite}
.chat-widget__header-close{background:none;border:none;color:#8b949e;cursor:pointer;padding:4px;font-size:20px;line-height:1;border-radius:6px;transition:all .2s}
.chat-widget__header-close:hover{color:#e6edf3;background:rgba(255,255,255,.08)}

.chat-widget__messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;max-height:320px;min-height:200px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}
.chat-widget__messages::-webkit-scrollbar{width:4px}
.chat-widget__messages::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:4px}

.chat-widget__msg{max-width:85%;padding:10px 14px;border-radius:14px;font-size:.9rem;line-height:1.5;word-wrap:break-word;animation:msgIn .3s cubic-bezier(.4,0,.2,1)}
@keyframes msgIn{from{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}

.chat-widget__msg--user{background:linear-gradient(135deg,#1f6feb,#388bfd);color:#fff;align-self:flex-end;border-bottom-right-radius:4px;box-shadow:0 2px 8px rgba(31,111,235,.25)}
.chat-widget__msg--operator{background:rgba(255,255,255,.06);color:#e6edf3;align-self:flex-start;border-bottom-left-radius:4px;border:1px solid rgba(255,255,255,.06)}
.chat-widget__msg--system{background:transparent;color:#8b949e;align-self:center;font-size:.8rem;text-align:center}
.chat-widget__msg-time{font-size:.7rem;color:rgba(255,255,255,.4);margin-top:4px}
.chat-widget__msg--operator .chat-widget__msg-time{color:#8b949e}

.chat-widget__input{padding:12px 16px;border-top:1px solid rgba(255,255,255,.06);display:flex;gap:8px;background:rgba(0,0,0,.15)}
.chat-widget__input input{flex:1;padding:10px 14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;color:#e6edf3;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s}
.chat-widget__input input:focus{border-color:rgba(35,134,54,.5);box-shadow:0 0 0 3px rgba(35,134,54,.15)}
.chat-widget__input input::placeholder{color:#484f58}
.chat-widget__input button{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#238636,#30a34a);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 8px rgba(35,134,54,.3)}
.chat-widget__input button:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(35,134,54,.4)}
.chat-widget__input button:active{transform:scale(.95)}
.chat-widget__input button svg{width:18px;height:18px;fill:#fff}

/* Mobile — above CTA */
@media(max-width:480px){
  .chat-widget__window{width:calc(100vw - 32px);right:-8px;bottom:80px;max-height:65vh;border-radius:16px}
  .chat-widget{bottom:80px;right:16px}
}

@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
