.netzon-audio { display:flex; flex:1 1 0; min-width:0; align-items:center; justify-content:center; font-size:13px; }
.netzon-audio audio { width:100%; min-width:0; height:44px; }
.netzon-audio [hidden] { display:none !important; }
.netzon-audio-status { min-width:0; overflow-wrap:anywhere; }
.netzon-audio[hidden] { display:none !important; }
body .opa_rodape .netzon-audio-mic {
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; min-width:44px; flex:none; padding:0;
  border:0; border-radius:50%; background:var(--brand, #ff5a1f); color:#fff;
  cursor:pointer; transition:background-color .2s ease;
}
body .opa_rodape .netzon-audio-mic:hover { background:var(--brand-dark, #d93a00); }
body .opa_rodape .netzon-audio-mic:disabled { opacity:.5; cursor:default; }
body .opa_rodape .netzon-audio-mic[hidden] { display:none !important; }
body .opa_rodape .netzon-audio-mic svg { width:22px; height:22px; fill:currentColor; }
body .opa_rodape .netzon-audio-stop { background:#c62828; }
body .opa_rodape .netzon-audio-stop:hover { background:#a61e1e; }
body .opa_ballon .netzon-audio-attachment { width:260px; max-width:100%; padding:8px; box-sizing:border-box; }
body .opa_ballon .netzon-audio-attachment audio { display:block; width:100%; max-width:100%; height:44px; margin:6px 0; }
.netzon-audio-filename { overflow-wrap:anywhere; font-size:12px; }
.netzon-audio-playback-error { display:block; margin-top:6px; font-size:12px; }
.netzon-audio-playback-error[hidden] { display:none; }
body .opa_ballon audio { height:44px !important; pointer-events:auto; }

body .opa_rodape.netzon-audio-active .opa_rodape_input,
body .opa_rodape.netzon-audio-active .opa_rodape_menu { display:none !important; }
body .opa_rodape .netzon-audio-discard { background:transparent; color:#b42318; }
body .opa_rodape .netzon-audio-discard:hover { background:#fff0ee; }
body .opa_rodape .opa_rodape_send[aria-disabled="true"] { opacity:.4; cursor:default; }
body .opa_rodape .netzon-audio-mic svg path { fill:currentColor; }

/* Colunas fixas para ações; somente o campo/áudio consome o espaço restante. */
body .opa_chat .opa_rodape {
  display:grid;
  grid-template-columns:44px minmax(0, 1fr) 44px 44px;
  gap:8px;
  align-items:center;
  flex:0 0 auto;
  min-width:0;
}
body .opa_chat .opa_rodape_menu { grid-column:1; grid-row:1; }
body .opa_chat .opa_rodape_input { grid-column:2; grid-row:1; width:100%; max-width:100%; min-width:0; }
body .opa_chat .opa_rodape_send { grid-column:3; grid-row:1; }
body .opa_chat .opa_rodape .netzon-audio-mic { grid-column:4; grid-row:1; }
body .opa_chat .opa_rodape .netzon-audio-discard { grid-column:1; grid-row:1; }
body .opa_chat .opa_rodape .netzon-audio { grid-column:1 / -1; grid-row:2; min-width:0; padding:2px 0; }
body .opa_chat .opa_rodape.netzon-audio-active { grid-template-columns:44px minmax(0, 1fr) 44px; }
body .opa_chat .opa_rodape.netzon-audio-active .netzon-audio { grid-column:2; grid-row:1; padding:0; }
body .opa_chat .opa_rodape[data-audio-state="recording"] { grid-template-columns:44px minmax(0, 1fr) 44px 44px; }
.netzon-audio-status { font-size:12px; line-height:1.4; text-align:center; }
body .opa_chat .opa_corpo { min-height:0; min-width:0; overflow-x:hidden; }
body .opa_chat .opa_ballon { min-width:0; overflow-wrap:anywhere; word-break:normal; }
body .opa_chat .opa_ballon pre { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; }
body .opa_chat .opa_ballon iframe { width:100%; }
@media (max-width:374px) {
  body .opa_chat .opa_rodape { gap:6px; padding-left:8px; padding-right:8px; }
  body .opa_chat .opa_rodape_input { padding-left:10px !important; padding-right:10px !important; }
  body .opa_chat .opa_ballon { margin-left:10px; margin-right:10px; }
}
@media (max-height:500px) {
  body .opa_chat .opa_corpo { padding-top:8px; padding-bottom:4px; }
  body .opa_chat .opa_rodape { padding-top:6px; padding-bottom:6px; min-height:56px; }
  body .opa_chat > .recaptcha-note { padding-top:0; padding-bottom:max(4px, var(--safe-bottom)); font-size:10px; }
}
@media (max-width:374px) {
  body .opa_chat .opa_ballon.recebida:after { left:-10px; width:10px; }
  body .opa_chat .opa_ballon.enviada:after { right:-10px; width:10px; }
}
/* O Opa define todos os paths do chat como brancos; preserva contraste da lixeira. */
body .opa_chat .opa_rodape .netzon-audio-discard { background:#fff0ee; color:#b42318 !important; }
body .opa_chat .opa_rodape .netzon-audio-discard:hover { background:#ffe1dc; }
body .opa_chat .opa_rodape .netzon-audio-discard svg path { fill:#b42318 !important; opacity:1; }
