/* Approdo - widget "Chatta con noi". Estratto da chat-widget.js perche' un
   Content-Security-Policy senza 'unsafe-inline' su style-src blocca <style>
   iniettati via JS: questo file e' incluso con un <link> statico in ogni
   pagina che carica chat-widget.js. */
#approdo-chat-launcher{position:fixed;bottom:20px;right:20px;z-index:99990;display:flex;align-items:center;gap:10px}
#approdo-chat-teaser{background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;font-size:.875rem;box-shadow:0 8px 24px rgba(0,0,0,.12);max-width:220px;cursor:pointer;position:relative;animation:approdo-chat-in .3s ease}
#approdo-chat-teaser::after{content:"";position:absolute;bottom:-6px;right:22px;width:11px;height:11px;background:var(--card);border-right:1px solid var(--border);border-bottom:1px solid var(--border);transform:rotate(45deg)}
#approdo-chat-teaser button{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:999px;background:var(--muted);color:var(--muted-foreground);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
#approdo-chat-teaser button svg{width:12px;height:12px}
#approdo-chat-bubble{position:relative;width:56px;height:56px;border-radius:999px;background:var(--primary);color:var(--primary-foreground);border:none;box-shadow:0 8px 24px rgba(0,0,0,.18);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease,box-shadow .2s ease}
#approdo-chat-bubble:hover{transform:scale(1.05);box-shadow:0 10px 28px rgba(0,0,0,.22)}
#approdo-chat-bubble:active{transform:scale(.96)}
#approdo-chat-bubble.approdo-chat-pop{animation:approdo-chat-in .25s ease}
#approdo-chat-bubble svg{width:26px;height:26px}
#approdo-chat-dot{position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:999px;background:var(--accent);border:2px solid var(--background)}
@media (prefers-reduced-motion: no-preference){
  #approdo-chat-dot::after{content:"";position:absolute;inset:-4px;border-radius:999px;border:2px solid var(--accent);opacity:.6;animation:approdo-chat-ping 2.4s ease-out infinite}
}
#approdo-chat-panel{position:fixed;bottom:20px;right:20px;z-index:99991;width:min(340px,calc(100vw - 40px));max-height:min(480px,calc(100vh - 40px));background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 16px 48px rgba(0,0,0,.22);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;animation:approdo-chat-in .22s ease;transition:opacity .22s ease,transform .22s ease}
#approdo-chat-panel[hidden]{display:none}
#approdo-chat-panel.is-closing{opacity:0;transform:translateY(12px) scale(.98);pointer-events:none}
@media (max-width:480px){
  #approdo-chat-launcher{bottom:14px;right:14px}
  #approdo-chat-teaser{max-width:calc(100vw - 96px)}
  #approdo-chat-panel{left:0;right:0;bottom:0;width:100%;max-height:min(75vh,560px);border-radius:var(--radius) var(--radius) 0 0;border-left:none;border-right:none;border-bottom:none;transform-origin:bottom center}
  #approdo-chat-panel.is-closing{transform:translateY(16px)}
}
#approdo-chat-header{background:var(--primary);color:var(--primary-foreground);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;font-size:.9375rem}
#approdo-chat-header button{background:transparent;border:none;color:inherit;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center}
#approdo-chat-header button svg{width:18px;height:18px}
#approdo-chat-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.approdo-chat-msg{max-width:85%;padding:9px 12px;border-radius:12px;font-size:.875rem;line-height:1.4}
.approdo-chat-msg.bot{background:var(--muted);color:var(--foreground);align-self:flex-start;border-bottom-left-radius:4px}
.approdo-chat-msg.user{background:var(--primary);color:var(--primary-foreground);align-self:flex-end;border-bottom-right-radius:4px}
#approdo-chat-form{border-top:1px solid var(--border);padding:10px;display:flex;flex-direction:column;gap:8px}
#approdo-chat-form textarea,#approdo-chat-form input,#approdo-chat-form select{width:100%;border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);padding:8px 10px;font-size:.875rem;font-family:inherit;outline:none;background:var(--background);color:var(--foreground)}
#approdo-chat-form textarea{resize:none;min-height:60px}
#approdo-chat-form textarea:focus,#approdo-chat-form input:focus,#approdo-chat-form select:focus{border-color:var(--primary)}
#approdo-chat-form button[type=submit]{background:var(--primary);color:var(--primary-foreground);border:none;border-radius:999px;padding:9px;font-size:.875rem;cursor:pointer}
#approdo-chat-form button[type=submit]:disabled{opacity:.6;cursor:default}
#approdo-chat-website{position:absolute;left:-9999px}
#approdo-chat-methods{display:flex;gap:6px}
.approdo-chat-method{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);background:var(--background);color:var(--muted-foreground);padding:8px 4px;font-size:.75rem;line-height:1.2;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}
.approdo-chat-method-icon{width:16px;height:16px}
.approdo-chat-method-icon svg{width:100%;height:100%}
.approdo-chat-method:hover{border-color:var(--primary)}
.approdo-chat-method.is-selected{border-color:var(--primary);background:var(--primary-soft);color:var(--foreground)}
#approdo-chat-hint{margin:0;font-size:.75rem;color:var(--destructive)}
#approdo-chat-privacy-note{margin:0;font-size:.75rem;color:var(--muted-foreground)}
#approdo-chat-privacy-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@keyframes approdo-chat-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes approdo-chat-ping{0%{transform:scale(.6);opacity:.6}70%{transform:scale(1.8);opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion: no-preference){
  .approdo-chat-unfold{animation:approdo-chat-unfold .3s ease}
}
@keyframes approdo-chat-unfold{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
