/* Чат-виджет «Задай вопрос». Слои: таббар 70 < кружок 80 < окно чата 85 < меню 90 < модалки 120 */
.nrgchat-fab{position:fixed;right:16px;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 14px);z-index:80;display:flex;align-items:center;gap:10px;pointer-events:none}
.nrgchat-btn{pointer-events:auto;width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;color:#fff;
  background:var(--red);box-shadow:0 10px 28px rgba(193,23,23,.45),0 2px 8px rgba(0,0,0,.5);transition:transform .2s var(--ease),background .2s;position:relative}
.nrgchat-btn:hover{background:var(--red-hot);transform:scale(1.06)}
.nrgchat-btn:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.nrgchat-btn svg{width:26px;height:26px}
.nrgchat-btn::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--red);opacity:0;animation:nrgchat-pulse 2.8s ease-out 1.2s 3}
@keyframes nrgchat-pulse{0%{opacity:.7;transform:scale(.9)}100%{opacity:0;transform:scale(1.35)}}
.nrgchat-label{pointer-events:auto;cursor:pointer;background:#fff;color:#0b0b0c;font-weight:800;font-size:13px;letter-spacing:.02em;
  padding:9px 14px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.45);white-space:nowrap;transition:opacity .3s,transform .3s var(--ease)}
.nrgchat-label.is-hidden{opacity:0;transform:translateX(10px);pointer-events:none}
.nrgchat-open .nrgchat-fab{opacity:0;pointer-events:none}
.nrgchat-open .nrgchat-fab *{pointer-events:none}

.nrgchat-panel{position:fixed;z-index:85;inset:0;display:flex;flex-direction:column;background:var(--surface);color:var(--text);
  opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .22s,transform .22s var(--ease),visibility .22s}
.nrgchat-open .nrgchat-panel{opacity:1;visibility:visible;transform:none}
.nrgchat-head{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 18px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.nrgchat-head b{display:block;font-size:15px}
.nrgchat-head small{color:var(--muted);font-size:12px}
.nrgchat-ava{width:38px;height:38px;border-radius:50%;background:var(--red);display:grid;place-items:center;flex:none}
.nrgchat-ava svg{width:20px;height:20px}
.nrgchat-x{margin-left:auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;flex:none}
.nrgchat-x:hover{background:rgba(255,255,255,.08)}
.nrgchat-x svg{width:18px;height:18px}
.nrgchat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.nrgchat-msg{max-width:88%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;word-wrap:break-word}
.nrgchat-msg a{color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}
.nrgchat-bot{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:6px}
.nrgchat-me{align-self:flex-end;background:var(--red);color:#fff;border-bottom-right-radius:6px}
.nrgchat-src{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.nrgchat-src a{font-size:12px;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--muted)}
.nrgchat-src a:hover{color:#fff;border-color:#fff}
.nrgchat-typing span{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:var(--muted);animation:nrgchat-dot 1s infinite}
.nrgchat-typing span:nth-child(2){animation-delay:.15s}.nrgchat-typing span:nth-child(3){animation-delay:.3s}
@keyframes nrgchat-dot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.nrgchat-sugg{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}
.nrgchat-sugg button{font:inherit;font-size:12px;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:999px;padding:6px 11px;cursor:pointer}
.nrgchat-sugg button:hover{border-color:#fff}
.nrgchat-form{display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.nrgchat-form textarea{flex:1;resize:none;font:inherit;font-size:16px;line-height:1.4;max-height:120px;padding:11px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--text)}
.nrgchat-form textarea:focus{outline:none;border-color:var(--muted)}
.nrgchat-send{width:46px;height:46px;flex:none;align-self:flex-end;border-radius:50%;border:0;background:var(--red);color:#fff;cursor:pointer;display:grid;place-items:center}
.nrgchat-send:disabled{opacity:.45;cursor:default}
.nrgchat-send svg{width:20px;height:20px}
.nrgchat-note{padding:0 16px 8px;font-size:11px;color:var(--muted)}

@media(min-width:640px){
  .nrgchat-panel{inset:auto 20px calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 16px) auto;width:390px;height:min(600px,calc(100vh - var(--tabbar-h) - 120px));
    border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.6)}
  .nrgchat-form textarea{font-size:14px}
}
@media(min-width:1024px){
  .nrgchat-fab{right:24px;bottom:24px}
  .nrgchat-panel{right:24px;bottom:24px;height:min(620px,calc(100vh - var(--header-h) - 48px))}
}
@media(max-width:639px){.nrgchat-label{display:none}}
@media(prefers-reduced-motion:reduce){.nrgchat-btn::after{animation:none}.nrgchat-panel,.nrgchat-label{transition:none}}
@media print{.nrgchat-fab,.nrgchat-panel{display:none}}
