/* Avatar parlante — colori dal tema della pagina (variabili --t-…) */
.avatarBox{position:fixed;right:22px;bottom:22px;z-index:60;width:340px;max-width:calc(100vw - 32px);display:none;flex-direction:column;align-items:center;
  font:14px/1.45 Arial,Helvetica,sans-serif;color:var(--t-text,#eee)}
.avatarBox.open{display:flex;animation:avIn .35s ease}
@keyframes avIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.avClose{position:absolute;top:-6px;left:-4px;width:30px;height:30px;border-radius:50%;border:1px solid var(--t-line,#444);background:var(--t-surface,#222);color:var(--t-text,#eee);font-size:18px;line-height:1;cursor:pointer}
.avBubble{position:relative;align-self:stretch;margin:0 0 14px 22px;background:var(--t-surface2,#292929);border:2px solid var(--t-accent,#f2bd00);border-radius:14px;padding:14px 16px;min-height:64px;box-shadow:0 10px 26px #0006}
.avBubble:after{content:"";position:absolute;bottom:-11px;left:50%;width:18px;height:18px;background:inherit;border-right:2px solid var(--t-accent,#f2bd00);border-bottom:2px solid var(--t-accent,#f2bd00);transform:translateX(-50%) rotate(45deg)}
.avText{margin:0;font-weight:bold;text-align:center;color:var(--t-text,#eee);min-height:1.45em}
.avStage{position:relative;width:200px;height:240px;display:flex;align-items:flex-end;justify-content:center}
.avVideo,.avImg{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 10px 18px #0007)}
.avatarBox.talking .avImg{animation:avTalk .5s ease-in-out infinite alternate}
@keyframes avTalk{from{transform:translateY(0) scale(1)}to{transform:translateY(-3px) scale(1.015)}}
.avBadge{position:absolute;top:4px;right:-14px;font:bold 9px Arial;letter-spacing:.08em;text-transform:uppercase;background:var(--t-bg2,#111);color:var(--t-muted,#bbb);border:1px solid var(--t-line,#444);padding:3px 6px;border-radius:10px}
.avControls{display:flex;gap:8px;margin-top:-18px;position:relative}
.avControls button{border-radius:20px;padding:8px 15px;font:bold 13px Arial;cursor:pointer;border:1px solid var(--t-line,#555);background:var(--t-surface,#222);color:var(--t-text,#eee)}
.avControls .avAudio{background:var(--t-accent,#f2bd00);color:var(--t-on-accent,#171717);border-color:var(--t-accent,#f2bd00)}
.avControls .avAudio.on{box-shadow:0 0 0 3px #f2bd0055}
.avMenu{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px;max-height:150px;overflow:auto}
.avMenu button{background:var(--t-surface,#222);color:var(--t-text,#ddd);border:1px solid var(--t-line,#444);border-radius:14px;padding:6px 10px;font:12px Arial;cursor:pointer}
.avMenu button:hover,.avMenu button:focus-visible{border-color:var(--t-accent,#f2bd00);outline:none}
.avForm{display:flex;gap:6px;align-self:stretch;margin-top:10px}
.avForm[hidden]{display:none}
.avForm input{flex:1;min-width:0;padding:9px;border:1px solid var(--t-line,#4a4a4a);background:var(--t-bg2,#111);color:var(--t-text,#fff);font:13px Arial}
.avForm button{background:var(--t-accent,#f2bd00);color:var(--t-on-accent,#171717);border:0;padding:0 14px;font:bold 12px Arial;cursor:pointer}
.avOpen{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;align-items:center;gap:8px;background:var(--t-surface,#222);border:1px solid var(--t-accent,#f2bd00);border-radius:30px;padding:5px 14px 5px 5px;color:var(--t-text,#eee);font:bold 13px Arial;cursor:pointer;box-shadow:0 8px 22px #0007}
.avOpen[hidden]{display:none}
.avOpen img{width:42px;height:42px;object-fit:contain}
@media(max-width:760px){.avatarBox{right:8px;bottom:8px;width:300px}.avStage{width:150px;height:170px}.avMenu{max-height:110px}}
@media(prefers-reduced-motion:reduce){.avatarBox.open,.avatarBox.talking .avImg{animation:none}}
/* Volto SVG di CTP Smart (bocca e palpebre animate) */
.avStage{width:230px;height:206px}
.avFace{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 10px 18px #0007)}
.avLid{transform-box:fill-box;transform-origin:50% 0;transform:scaleY(0);transition:transform .07s ease-in}
.avatarBox.blink .avLid{transform:scaleY(1)}
.avatarBox.talking .avFace{animation:avBob 1.6s ease-in-out infinite}
@keyframes avBob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-.6deg)}}
.avBadge{top:auto;bottom:22px;right:-6px}
@media(max-width:760px){.avStage{width:170px;height:152px}}
@media(prefers-reduced-motion:reduce){.avatarBox.talking .avFace{animation:none}}
/* 19/10 — mascotte intera, domande a scorrimento, audio a icona */
.avStage{width:220px;height:220px}
.avFace{overflow:hidden}
.avBadge{top:6px;bottom:auto;right:-30px}
.avControls{margin-top:8px}
.avControls .avAudio{display:inline-flex;align-items:center;justify-content:center;width:44px;padding:6px 0;background:var(--t-surface,#222);border:1px solid var(--t-line,#555);color:var(--t-muted,#aaa)}
.avControls .avAudio .avWave{display:none}
.avControls .avAudio.on{color:#2ecc71;border-color:#2ecc71;box-shadow:none}
.avControls .avAudio.on .avWave{display:inline}
.avControls .avAudio.on .avSlash{display:none}
.avTicker{display:flex;align-items:center;gap:6px;align-self:stretch;margin-top:12px}
.avStep{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--t-line,#555);background:var(--t-surface,#222);color:var(--t-accent-text,#f2bd00);font-size:11px;cursor:pointer}
.avStep:hover,.avStep:focus-visible{border-color:var(--t-accent,#f2bd00);outline:none}
.avMenu{display:block;flex:1;min-width:0;height:72px;max-height:none;overflow:hidden;margin:0}
.avTrack{display:flex;flex-direction:column;gap:6px;transition:transform .45s ease}
.avTrack button{display:block;width:100%;height:33px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avTrack button b{color:var(--t-accent-text,#f2bd00);margin-right:2px}
@media(max-width:760px){.avStage{width:160px;height:160px}.avBadge{right:-20px}}
@media(prefers-reduced-motion:reduce){.avTrack{transition:none}}
/* 18/10 — etichetta sul bordo alto del fumetto, a destra; pulsanti più piccoli */
.avBubble .avBadge{position:absolute;top:-11px;right:14px;bottom:auto;z-index:1}
.avBubble{margin-top:8px;padding:14px 30px}
.avNav{position:absolute;bottom:6px;width:24px;height:24px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--t-accent-text,#f2bd00);font-size:13px;line-height:1;cursor:pointer;opacity:.75}
.avNav:hover,.avNav:focus-visible{opacity:1;background:#ffffff14;outline:none}
.avPrev{left:4px}.avNext{right:4px}
.avControls{gap:6px}
.avControls button{padding:5px 11px;font-size:11.5px;border-radius:16px}
.avControls .avAudio{width:34px;padding:4px 0}
.avControls .avAudio svg{width:17px;height:17px}
.avNota{margin:6px 0 0;font:11px Arial;color:var(--t-muted,#aaa);text-align:center}
