/* Fynvro Web — assistant widget.
   Kept in its own file so the whole widget can be lifted out for client sites later. */

.fchat-btn{position:fixed;right:20px;bottom:20px;z-index:200;width:58px;height:58px;border:0;
  border-radius:50%;cursor:pointer;background:linear-gradient(100deg,#1FC3F0,#7FA0FF 55%,#8B7CFF);
  box-shadow:0 12px 34px -10px rgba(31,195,240,.6);display:flex;align-items:center;justify-content:center;
  transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s}
.fchat-btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 18px 44px -12px rgba(124,107,255,.6)}
.fchat-btn:focus-visible{outline:3px solid #0A0E18;outline-offset:3px}
.fchat-btn svg{width:25px;height:25px;fill:#07131A}
.fchat-btn .x{display:none}
.fchat-btn.open .c{display:none}
.fchat-btn.open .x{display:block}

.fchat-nudge{position:fixed;right:88px;bottom:33px;z-index:199;background:#0A0E18;color:#fff;
  font-family:"Inter",system-ui,sans-serif;font-size:13.5px;font-weight:500;padding:.65em 1.05em;
  border-radius:999px;box-shadow:0 10px 30px -12px rgba(11,19,34,.5);white-space:nowrap;
  opacity:0;transform:translateX(8px);transition:opacity .4s,transform .4s;pointer-events:none}
.fchat-nudge.show{opacity:1;transform:none}
@media(max-width:520px){.fchat-nudge{display:none}}

.fchat-panel{position:fixed;right:20px;bottom:88px;z-index:200;width:376px;max-width:calc(100vw - 40px);
  height:542px;max-height:calc(100vh - 130px);background:#fff;border:1px solid #E5EAF2;border-radius:18px;
  box-shadow:0 1px 2px rgba(11,19,34,.04),0 30px 64px -24px rgba(11,19,34,.34);
  display:none;flex-direction:column;overflow:hidden;font-family:"Inter",system-ui,sans-serif}
.fchat-panel.open{display:flex;animation:fcIn .32s cubic-bezier(.22,.61,.36,1)}
@keyframes fcIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:520px){.fchat-panel{right:12px;left:12px;bottom:84px;width:auto;max-width:none;
  height:calc(100vh - 120px)}}

.fchat-head{background:#0A0E18;color:#fff;padding:15px 18px;display:flex;align-items:center;gap:10px;flex:none}
.fchat-head img{height:19px;width:auto}
.fchat-head .st{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11.5px;color:#98A4B8}
.fchat-head .st i{width:7px;height:7px;border-radius:50%;background:#34D399;display:block}

.fchat-log{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:11px;
  background:#F7F9FC;scroll-behavior:smooth}
.fchat-m{max-width:86%;font-size:14.3px;line-height:1.58;padding:10px 13px;border-radius:14px;
  white-space:pre-wrap;overflow-wrap:break-word;animation:fcM .3s cubic-bezier(.22,.61,.36,1)}
@keyframes fcM{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.fchat-m.u{align-self:flex-end;background:#0A0E18;color:#fff;border-bottom-right-radius:5px}
.fchat-m.a{align-self:flex-start;background:#fff;color:#0A0E18;border:1px solid #E5EAF2;
  border-bottom-left-radius:5px}
.fchat-m.e{align-self:center;background:rgba(239,68,68,.07);border:1px solid rgba(185,28,28,.24);
  color:#9B1C1C;font-size:13.4px;max-width:100%;text-align:center}

.fchat-typing{align-self:flex-start;display:flex;gap:4px;padding:13px 14px;background:#fff;
  border:1px solid #E5EAF2;border-radius:14px;border-bottom-left-radius:5px}
.fchat-typing i{width:6px;height:6px;border-radius:50%;background:#98A4B8;display:block;
  animation:fcDot 1.3s ease-in-out infinite}
.fchat-typing i:nth-child(2){animation-delay:.16s}
.fchat-typing i:nth-child(3){animation-delay:.32s}
@keyframes fcDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

.fchat-chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 14px;background:#F7F9FC}
.fchat-chips button{font-family:inherit;font-size:12.8px;color:#137C99;background:#fff;
  border:1px solid #D7DFEA;border-radius:999px;padding:.5em .9em;cursor:pointer;transition:.2s}
.fchat-chips button:hover{border-color:#137C99;background:rgba(31,195,240,.07)}

.fchat-foot{flex:none;border-top:1px solid #E5EAF2;background:#fff;padding:12px 14px}
.fchat-row{display:flex;gap:9px;align-items:flex-end}
.fchat-row textarea{flex:1;font-family:inherit;font-size:14.3px;line-height:1.5;color:#0A0E18;
  border:1px solid #D7DFEA;border-radius:12px;padding:10px 12px;resize:none;max-height:104px;
  min-height:42px;transition:border-color .2s,box-shadow .2s}
.fchat-row textarea:focus{outline:none;border-color:#137C99;box-shadow:0 0 0 3px rgba(19,124,153,.12)}
.fchat-row button{flex:none;width:42px;height:42px;border:0;border-radius:12px;cursor:pointer;
  background:linear-gradient(100deg,#1FC3F0,#7FA0FF 55%,#8B7CFF);display:flex;align-items:center;
  justify-content:center;transition:transform .2s,opacity .2s}
.fchat-row button:hover{transform:translateY(-1px)}
.fchat-row button:disabled{opacity:.45;cursor:default;transform:none}
.fchat-row button svg{width:17px;height:17px;fill:#07131A}
.fchat-note{font-size:11px;color:#6B7690;text-align:center;margin-top:9px;line-height:1.45}
.fchat-note a{color:#137C99}

@media(prefers-reduced-motion:reduce){
  .fchat-panel.open,.fchat-m{animation:none}
  .fchat-typing i{animation:none;opacity:.55}
  .fchat-nudge{transition:none}
}
