/* QR AI Assistant — widget chat (stile app) */
#qrai-root{--qrai-accent:#1f6f5c;--qrai-ink:#1d2b27;--qrai-bg:#fffdf8;--qrai-soft:#eef4f1;font-family:"Manrope",system-ui,-apple-system,sans-serif}

#qrai-fab{
  position:fixed;right:22px;bottom:22px;z-index:99998;width:60px;height:60px;border-radius:50%;
  border:0;cursor:pointer;background:var(--qrai-accent);color:#fff;
  box-shadow:0 14px 30px -10px rgba(31,111,92,.7);display:flex;align-items:center;justify-content:center;
  transition:transform .15s ease,filter .15s ease;font-weight:800;font-size:20px;letter-spacing:.5px;}
#qrai-fab:hover{filter:brightness(1.07)}
#qrai-fab.qrai-on{transform:scale(.92)}

#qrai-panel[hidden]{display:none}
#qrai-panel{
  position:fixed;right:22px;bottom:96px;z-index:99999;width:370px;max-width:calc(100vw - 28px);
  height:560px;max-height:calc(100vh - 120px);background:var(--qrai-bg);border-radius:22px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 30px 70px -20px rgba(20,30,26,.55);
  border:1px solid #e7e1d3;animation:qrai-in .18s ease-out;
}
@keyframes qrai-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

#qrai-head{display:flex;align-items:center;gap:12px;padding:16px 16px;background:linear-gradient(135deg,#0f3d33,#1f6f5c);color:#fff}
.qrai-av{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px}
.qrai-h-title{font-weight:700;font-size:16px;line-height:1.1}
.qrai-h-sub{font-size:12px;opacity:.8}
#qrai-head>div:nth-child(2){flex:1}
#qrai-close{margin-left:auto;background:transparent;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;opacity:.8}
#qrai-close:hover{opacity:1}

#qrai-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--qrai-soft)}
.qrai-b{max-width:80%;padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}
.qrai-bot{align-self:flex-start;background:#fff;color:var(--qrai-ink);border:1px solid #e7e1d3;border-bottom-left-radius:5px}
.qrai-user{align-self:flex-end;background:var(--qrai-accent);color:#fff;border-bottom-right-radius:5px}

.qrai-typing{display:flex;gap:4px;align-items:center}
.qrai-typing span{width:7px;height:7px;border-radius:50%;background:#9bb3a9;animation:qrai-bounce 1s infinite}
.qrai-typing span:nth-child(2){animation-delay:.15s}
.qrai-typing span:nth-child(3){animation-delay:.3s}
@keyframes qrai-bounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}

.qrai-sources{align-self:flex-start;display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 2px}
.qrai-sources a{font-size:12px;background:#fff;border:1px solid #cfe0d8;color:var(--qrai-accent);padding:5px 10px;border-radius:999px;text-decoration:none}
.qrai-sources a:hover{background:var(--qrai-accent);color:#fff}

#qrai-form{display:flex;gap:8px;padding:12px;background:var(--qrai-bg);border-top:1px solid #ece6d8}
#qrai-input{flex:1;border:1.5px solid #e0d9c9;border-radius:12px;padding:11px 13px;font:inherit;font-size:16px;background:#fff;color:var(--qrai-ink)}
#qrai-input:focus{outline:none;border-color:var(--qrai-accent);box-shadow:0 0 0 4px rgba(31,111,92,.12)}
#qrai-form button{flex:0 0 auto;width:44px;border:0;border-radius:12px;background:var(--qrai-accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
#qrai-form button:hover{filter:brightness(1.07)}

@media(max-width:560px){
  /* Riquadro compatto sovrapposto alla pagina (NON a tutto schermo): si capisce
     che è una chat che si apre sopra il sito. Margini ai lati + altezza ridotta. */
  #qrai-panel{right:12px;left:12px;bottom:84px;width:auto;max-width:none;height:auto;max-height:72vh;border-radius:18px;border:1px solid #e7e1d3}
  #qrai-fab{right:16px;bottom:16px;width:54px;height:54px;font-size:18px}
}
