/* Recepção IA — player de áudio (par do player-audio.js). Usa os tokens do site.css. */

/* base: qualquer [data-audio] vira .au */
.au{row-gap:0}
.au .au-bt{position:relative;cursor:pointer;flex-shrink:0;transition:transform .25s var(--ease),background .3s}
.au .au-bt:hover{transform:scale(1.07)}
.au .au-bt:active{transform:scale(.95)}
.au .au-bt:focus-visible{border-radius:50%}
.au .au-bt .ico{fill:currentColor}
.au .wave{cursor:pointer}
.au .wave i{transition:background .15s}
.au .au-t{font-variant-numeric:tabular-nums;transition:color .3s}
.au.is-playing .wave i{animation:eq 1s ease-in-out infinite}
.au.is-playing .au-bt{animation:ping 1.6s infinite}
/* carregando: anel girando em volta do botão */
.au.is-loading .au-bt::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid transparent;border-top-color:var(--acento);border-right-color:var(--acento);animation:gira .8s linear infinite}
.au.is-erro .au-bt{opacity:.45;cursor:not-allowed}

/* transcrição: abre por baixo ao tocar e fica aberta depois */
.au-tr{flex-basis:100%;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .45s var(--ease),opacity .35s}
.au-tr>p{overflow:hidden;margin:0;min-height:0}
.au.is-open .au-tr{grid-template-rows:1fr;opacity:1}
.au-tr-k{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.65;margin:9px 0 2px}

/* hero: balão de áudio do WhatsApp */
.msg.aud.au{flex-wrap:wrap;transition:box-shadow .3s}
.msg.aud .wave{min-width:0;overflow:hidden}
.msg.aud .au-t{flex-shrink:0;margin-top:0}
.msg.aud .au-bt:hover{background:var(--acao)}
.msg.aud .wave i.au-on{background:var(--acao)}
.msg.aud.is-playing .au-t{color:var(--acao-tinta)}
.msg.aud.is-open{box-shadow:0 0 0 2px rgba(var(--acao-rgb),.35),0 1px 1px rgba(0,0,0,.06)}
.msg.aud .au-tr p{font-size:12.5px;line-height:1.4;color:var(--tx-2);font-style:italic}
.msg.aud .au-tr-k{font-style:normal;color:var(--mu)}

/* como funciona: mini balão de áudio */
.au-mini{display:flex;align-items:center;flex-wrap:wrap;column-gap:8px;transition:box-shadow .3s}
.au-mini .au-bt{width:26px;height:26px;border-radius:50%;background:var(--ink-3);color:#fff;display:grid;place-items:center}
.au-mini .au-bt:hover{background:var(--acao)}
.au-mini .au-bt .ico{width:11px;height:11px}
.au-mini .wave{height:18px;min-width:0;overflow:hidden}
.au-mini .wave i{width:2px}
.au-mini .wave i.au-on{background:var(--acao)}
.au-mini .au-t{font-size:11.5px;color:var(--mu)}
.au-mini.is-playing .au-t{color:var(--acao-tinta)}
.au-mini.is-open{box-shadow:0 0 0 2px rgba(var(--acao-rgb),.3)}
.au-mini .au-tr p{color:var(--tx-2);font-style:italic}
.au-mini .au-tr-k{font-style:normal;color:var(--mu);margin-top:7px}

/* voz e tom (fundo escuro) */
.abm.au{flex-wrap:wrap;transition:background .3s,border-color .3s}
.abm .au-t{font:inherit}
.abm .wave i.au-on{background:#fff}
.abm.me .wave i.au-on{background:#fff}
.abm.is-open{border-color:rgba(var(--acento-rgb),.45);background:rgba(255,255,255,.08)}
.abm.me.is-open{background:rgba(var(--acao-rgb),.2)}
.abm.is-playing small{color:var(--acento)}
.abm .au-tr p{font-size:14px;line-height:1.5;color:var(--tx-dark)}
.abm .au-tr-k{color:var(--acento)}

.au-tom{display:flex;align-items:center;gap:10px;margin:12px 0 0 auto;max-width:92%;padding:7px 14px 7px 7px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--ln-dark);transition:background .3s,border-color .3s}
.au-tom .au-bt{width:34px;height:34px;border-radius:50%;background:var(--acao);color:var(--on-acao);display:grid;place-items:center}
.au-tom .au-bt .ico{width:14px;height:14px}
.au-tom .wave{height:18px;min-width:0;overflow:hidden}
.au-tom .wave i.au-on{background:#fff}
.au-tom .au-lb{font-size:12.5px;font-weight:600;color:var(--mu-dark);white-space:nowrap}
.au-tom .au-t{font-size:12.5px;color:var(--mu-dark)}
.au-tom.is-open{border-color:rgba(var(--acento-rgb),.45);background:rgba(var(--acao-rgb),.16)}
.au-tom.is-playing .au-lb,.au-tom.is-playing .au-t{color:var(--acento)}
.tone .a{transition:opacity .35s,box-shadow .35s}
.tone .a.au-alvo{box-shadow:0 0 0 3px rgba(var(--acento-rgb),.55),0 12px 30px -12px rgba(var(--acao-rgb),.7)}

/* assistentes: a frase do cartão vira um áudio */
.say.au{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:12px;row-gap:8px;transition:background .3s,border-color .3s}
.say .au-bt{grid-row:1/3;width:38px;height:38px;border-radius:50%;background:var(--acao);color:var(--on-acao);display:grid;place-items:center}
.say .au-bt .ico{width:14px;height:14px}
.say .say-q{grid-column:2/4;margin:0;transition:color .3s}
.say .wave{height:16px;min-width:0;overflow:hidden}
.say .wave i{background:rgba(255,255,255,.3)}
.say .wave i.au-on{background:var(--acento)}
.say .au-t{font-size:12px;color:var(--mu-dark)}
.say.is-open{background:rgba(var(--acao-rgb),.2);border-color:rgba(var(--acento-rgb),.45)}
.say .say-q.au-alvo{color:#fff}
.say.is-playing .au-t{color:var(--acento)}

@media(prefers-reduced-motion:reduce){.au-tr{transition:none}}
