/* eLLM site assistant widget */
#ellm-fab{position:fixed;right:20px;bottom:20px;z-index:99990;display:inline-flex;align-items:center;gap:10px;background:var(--color1,#007745);color:#fff;border:0;border-radius:999px;padding:12px 18px 12px 14px;font:700 .95rem var(--font1,"Fira Sans"),sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.25);cursor:pointer;transition:transform .15s,box-shadow .15s}
#ellm-fab:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.3)}
#ellm-fab:focus-visible{outline:3px solid #8FD9B5;outline-offset:2px}
#ellm-fab .ellm-dot{width:10px;height:10px;border-radius:50%;background:#8FD9B5;box-shadow:0 0 0 0 rgba(143,217,181,.7);animation:ellm-pulse 2.4s infinite}
@keyframes ellm-pulse{0%{box-shadow:0 0 0 0 rgba(143,217,181,.7)}70%{box-shadow:0 0 0 10px rgba(143,217,181,0)}100%{box-shadow:0 0 0 0 rgba(143,217,181,0)}}
#ellm-panel{position:fixed;right:20px;bottom:84px;z-index:99991;width:480px;max-width:calc(100vw - 24px);height:560px;max-height:calc(100vh - 110px);background:#fff;color:#14201A;border-radius:14px;box-shadow:0 40px 90px rgba(0,0,0,.6),0 14px 32px rgba(0,0,0,.4),0 0 0 2px var(--color1,#007745),0 0 0 8px rgba(0,119,69,.12);display:flex;flex-direction:column;overflow:hidden;font-family:var(--font2,Montserrat),sans-serif;font-size:14.5px;line-height:1.45}
#ellm-panel[hidden]{display:none}
.ellm-head{background:var(--color1_150,#003c23);color:#fff;padding:12px 14px;display:flex;align-items:center;gap:10px}
.ellm-head .ellm-logo{width:34px;height:34px;border-radius:9px;background:var(--color1,#007745);display:grid;place-items:center;font:700 .85rem var(--font1,"Fira Sans"),sans-serif;letter-spacing:.02em}
.ellm-head b{display:block;font:700 1rem var(--font1,"Fira Sans"),sans-serif}
.ellm-head small{display:block;opacity:.8;font-size:.75rem}
.ellm-head .ellm-actions{margin-left:auto;display:flex;align-items:center;gap:4px}
.ellm-head button{background:transparent;border:0;color:#fff;font-size:1.3rem;cursor:pointer;line-height:1;padding:4px 6px;border-radius:6px}
.ellm-head button.ellm-new{font:600 .72rem var(--font1,"Fira Sans"),sans-serif;border:1px solid rgba(255,255,255,.45);padding:5px 9px;border-radius:999px;white-space:nowrap}
.ellm-head button:hover{background:rgba(255,255,255,.12)}
.ellm-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#F4F7F5}
.ellm-m{max-width:88%;padding:10px 12px;border-radius:12px;white-space:pre-wrap;word-wrap:break-word}
.ellm-m.user{align-self:flex-end;background:var(--color1,#007745);color:#fff;border-bottom-right-radius:4px}
.ellm-m.bot{align-self:flex-start;background:#fff;border:1px solid #DCE5E0;border-bottom-left-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.ellm-m.bot a{color:var(--color1,#007745)}
.ellm-m.bot ul{margin:6px 0 0 18px;padding:0}
.ellm-src{font-size:.72rem;color:#5C6B63;margin-top:6px}
.ellm-typing{align-self:flex-start;color:#5C6B63;font-size:.8rem;padding:4px 12px}
.ellm-sugs{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px;background:#F4F7F5}
.ellm-sugs button{background:#fff;border:1px solid #CFDAD3;border-radius:999px;padding:6px 10px;font:500 .78rem var(--font1,"Fira Sans"),sans-serif;color:#14201A;cursor:pointer}
.ellm-sugs button:hover{border-color:var(--color1,#007745);color:var(--color1,#007745)}
.ellm-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #DCE5E0;background:#fff;box-shadow:0 -6px 16px rgba(0,0,0,.05)}
.ellm-form textarea{flex:1;resize:none;border:1px solid #CFDAD3;border-radius:10px;padding:9px 11px;font:inherit;min-height:84px;max-height:160px}
.ellm-form textarea:focus{outline:2px solid var(--color1,#007745);outline-offset:1px;border-color:transparent}
.ellm-form button{background:var(--color1,#007745);color:#fff;border:0;border-radius:10px;padding:0 14px;font:700 .9rem var(--font1,"Fira Sans"),sans-serif;cursor:pointer}
.ellm-form button:disabled{opacity:.5;cursor:default}
.ellm-foot{font-size:.7rem;color:#5C6B63;text-align:center;padding:6px 10px 8px;background:#fff}
.ellm-foot a{color:var(--color1,#007745)}
@media (max-width:520px){#ellm-panel{right:0;bottom:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0}#ellm-fab{right:14px;bottom:14px}}
@media (prefers-reduced-motion: reduce){#ellm-fab .ellm-dot{animation:none}#ellm-fab{transition:none}}
/* Kopage back-to-top button: sit it beside the Ask eLLM button instead of underneath */
#scrollToTop{right:176px !important;bottom:20px !important;height:46px !important;width:46px !important;line-height:46px !important;border-radius:999px !important;box-shadow:0 8px 24px rgba(0,0,0,.25)}
#scrollToTop.active{margin-bottom:0 !important}
@media (max-width:520px){#scrollToTop{right:168px !important;bottom:14px !important}}
