/* Canal direto: contatos pessoais e assuntos em pequenos baloes. */
.moinho-canal {
 --moinho-canal-z: 999995;
 --moinho-canal-largura: 42rem;
 --moinho-surface-fg: var(--moinho-tinta-700);
 --moinho-surface-fg-muted: var(--moinho-tinta-500);
 position: fixed;
 inset: 0;
 z-index: var(--moinho-canal-z);
 display: grid;
 place-items: center;
 padding: var(--moinho-space-xs);
 visibility: hidden;
 opacity: 0;
 transition: opacity var(--moinho-duration-fast) ease, visibility var(--moinho-duration-fast) ease;
}
.moinho-canal:target, .moinho-canal.is-aberto { visibility: visible; opacity: 1; }
.moinho-canal__fundo { position: absolute; inset: 0; background: var(--moinho-tinta-900); opacity: .72; }
.moinho-canal__folha {
 position: relative;
 box-sizing: border-box;
 inline-size: 100%;
 max-inline-size: var(--moinho-canal-largura);
 max-block-size: calc(100dvh - 2rem);
 overflow-y: auto;
 overscroll-behavior: contain;
 padding: var(--moinho-space-md);
 border: var(--moinho-border-width) solid transparent;
 border-radius: var(--moinho-radius-lg);
 background: var(--moinho-whatsapp-paper);
 color: var(--moinho-surface-fg);
 box-shadow: var(--moinho-shadow-float);
 font-family: var(--moinho-role-ui-family);
 text-align: start;
}
.moinho-canal .moinho-canal__cabecalho { position: relative; inline-size: 100%; max-inline-size: none; padding-inline-end: 3rem; box-sizing: border-box; margin-block-end: var(--moinho-space-sm); }
.moinho-canal .moinho-canal__titulo {
 margin: 0 0 var(--moinho-space-2xs);
 max-inline-size: none;
 font-family: var(--moinho-role-heading-family);
 font-size: var(--moinho-role-h4-size);
 font-weight: var(--moinho-role-h4-weight);
 line-height: var(--moinho-role-h4-leading);
 letter-spacing: var(--moinho-role-h4-tracking);
 color: var(--moinho-surface-fg);
 text-align: start;
}
.moinho-canal__texto, .moinho-canal__rodape { margin: 0; color: var(--moinho-surface-fg-muted); font-size: var(--moinho-role-caption-size); line-height: var(--moinho-role-caption-leading); text-align: start; }
.moinho-canal .moinho-canal__fechar { position: absolute; inset-block-start: 0; inset-inline-end: 0; display: grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem; border-radius: var(--moinho-radius-circle); color: var(--moinho-tinta-700); background: transparent; text-decoration: none; }
.moinho-canal__fechar .moinho-icon { inline-size: 1.125rem; block-size: 1.125rem; }
.moinho-canal__corpo { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--moinho-space-sm); }
.moinho-canal__pessoa { align-self: start; min-inline-size: 0; padding: var(--moinho-space-xs); border-radius: var(--moinho-radius-md); background: var(--moinho-branco); }
.moinho-canal__pessoa-topo { display: flex; align-items: center; gap: var(--moinho-space-xs); padding-block: var(--moinho-space-3xs) var(--moinho-space-xs); }
.moinho-canal__retrato { display: block; flex: none; inline-size: 3rem; block-size: 3rem; overflow: hidden; border-radius: var(--moinho-radius-circle); }
.moinho-canal__retrato-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 50% 16%; }
.moinho-canal__identidade { display: flex; flex-direction: column; min-inline-size: 0; gap: var(--moinho-space-3xs); }
.moinho-canal__nome { color: var(--moinho-tinta-700); font-size: var(--moinho-role-body-size); font-weight: var(--moinho-weight-semibold); line-height: var(--moinho-role-body-leading); }
.moinho-canal__tag { color: var(--moinho-tinta-500); font-size: var(--moinho-role-caption-size); line-height: var(--moinho-role-caption-leading); }
.moinho-canal__cargo, .moinho-canal__numero, .moinho-canal__opcao-icone, .moinho-canal__opcao-resumo { display: none; }
.moinho-canal__assuntos, .moinho-canal__extras-lista { list-style: none; margin: 0; padding: 0; }
.moinho-canal__assuntos { display: flex; flex-wrap: wrap; gap: var(--moinho-space-2xs); }
.moinho-canal .moinho-canal__opcao { display: flex; align-items: center; justify-content: space-between; gap: var(--moinho-space-2xs); box-sizing: border-box; min-block-size: 2.75rem; padding: var(--moinho-space-2xs) var(--moinho-space-xs); color: var(--moinho-whatsapp-ink); background: var(--moinho-whatsapp-soft); text-decoration: none; border-radius: var(--moinho-radius-md); border-end-start-radius: var(--moinho-radius-sm); transition: background-color var(--moinho-duration-fast) ease; }
.moinho-canal__opcao-texto { flex: 1; min-inline-size: 0; }
.moinho-canal__opcao-rotulo { font-size: var(--moinho-role-caption-size); font-weight: var(--moinho-weight-medium); line-height: var(--moinho-role-caption-leading); }
.moinho-canal__opcao-seta { display: none; }
.moinho-canal__opcao-seta .moinho-icon { inline-size: 1rem; block-size: 1rem; }
.moinho-canal .moinho-canal__opcao:hover, .moinho-canal .moinho-canal__fechar:hover, .moinho-canal .is-destaque { background: var(--moinho-whatsapp-hover); color: var(--moinho-whatsapp-ink); }
.moinho-canal a:focus-visible { outline: 2px solid var(--moinho-whatsapp-ink); outline-offset: 2px; }
.moinho-canal__extras { margin-block-start: var(--moinho-space-sm); padding-block-start: var(--moinho-space-xs);  }
.moinho-canal__extras-rotulo { margin: 0 0 var(--moinho-space-2xs); color: var(--moinho-tinta-500); font-size: var(--moinho-role-caption-size); line-height: var(--moinho-role-caption-leading); }
.moinho-canal__extras-lista { display: grid; gap: var(--moinho-space-2xs); }
.moinho-canal__extra { display: flex; align-items: center; gap: var(--moinho-space-xs); min-block-size: 2.75rem; }
.moinho-canal__extra-nomes { display: flex; gap: var(--moinho-space-xs); }
.moinho-canal .moinho-canal__extra-nome { display: inline-flex; align-items: center; min-block-size: 2.75rem; padding-inline: var(--moinho-space-xs); border-radius: var(--moinho-radius-pill); background: var(--moinho-branco); color: var(--moinho-whatsapp-ink); font-size: var(--moinho-role-caption-size); text-underline-offset: .2em; }
.moinho-canal__rodape { margin-block-start: var(--moinho-space-xs); }
.moinho-canal .moinho-canal__rodape a { color: var(--moinho-whatsapp-ink); text-underline-offset: .2em; overflow-wrap: anywhere; }
.moinho-canal__whatsapp { display: inline-flex; align-items: center; color: var(--moinho-whatsapp-ink); margin-block-end: var(--moinho-space-2xs); }
.moinho-canal__whatsapp .moinho-icon { inline-size: 1.5rem; block-size: 1.5rem; }
.moinho-canal .moinho-canal__extra-nome:hover { background: var(--moinho-whatsapp-hover); }
@media (max-width: 47.9375rem) {
 .moinho-canal { place-items: end stretch; }
 .moinho-canal__folha { padding: var(--moinho-space-sm); padding-block-end: max(var(--moinho-space-sm),env(safe-area-inset-bottom)); }
 .moinho-canal__corpo { grid-template-columns: minmax(0,1fr); gap: var(--moinho-space-xs); }
 .moinho-canal__extra { flex-wrap: wrap; column-gap: var(--moinho-space-2xs); }
}
@media (forced-colors: active) { .moinho-canal__folha { border-color: CanvasText; } .moinho-canal a:focus-visible { outline-color: Highlight; } }

/* Com JavaScript, os contatos viram uma conversa curta com respostas rapidas. */
.moinho-canal.is-chat { --moinho-canal-largura: 28rem; }
.moinho-canal.is-chat .moinho-canal__corpo,
.moinho-canal.is-chat .moinho-canal__extras { display: none; }
.moinho-canal.is-chat .moinho-canal__cabecalho { padding-block-end: var(--moinho-space-xs); border-block-end: var(--moinho-border-width) solid var(--moinho-tinta-200); }
.moinho-canal__mensagens { display: flex; flex-direction: column; gap: var(--moinho-space-xs); }
.moinho-canal__balao { align-self: flex-start; max-inline-size: 90%; box-sizing: border-box; margin: 0; padding: var(--moinho-space-xs); border-radius: var(--moinho-radius-md); border-start-start-radius: var(--moinho-radius-sm); background: var(--moinho-branco); color: var(--moinho-tinta-700); font-size: var(--moinho-role-small-size); line-height: var(--moinho-role-small-leading); text-align: start; }
.moinho-canal__balao--visitante { align-self: flex-end; background: var(--moinho-whatsapp-soft); color: var(--moinho-whatsapp-ink); border-start-start-radius: var(--moinho-radius-md); border-start-end-radius: var(--moinho-radius-sm); }
.moinho-canal__respostas { display: flex; flex-wrap: wrap; gap: var(--moinho-space-2xs); margin-block-start: var(--moinho-space-xs); }
.moinho-canal .moinho-canal__resposta { appearance: none; box-sizing: border-box; min-block-size: 2.75rem; max-inline-size: 100%; padding: var(--moinho-space-2xs) var(--moinho-space-xs); border: var(--moinho-border-width) solid var(--moinho-whatsapp-ink); border-radius: var(--moinho-radius-pill); background: var(--moinho-branco); color: var(--moinho-whatsapp-ink); font-family: var(--moinho-role-ui-family); font-size: var(--moinho-role-caption-size); font-weight: var(--moinho-weight-medium); line-height: var(--moinho-role-caption-leading); cursor: pointer; text-align: start; }
.moinho-canal .moinho-canal__resposta:hover { background: var(--moinho-whatsapp-soft); }
.moinho-canal .moinho-canal__resposta:focus-visible { outline: 2px solid var(--moinho-whatsapp-ink); outline-offset: 3px; }
.moinho-canal .moinho-canal__resposta--voltar { border-color: transparent; background: transparent; color: var(--moinho-tinta-500); text-decoration: underline; text-underline-offset: .2em; }
.moinho-canal .moinho-canal__continuar { display: flex; align-items: center; gap: var(--moinho-space-xs); inline-size: 100%; box-sizing: border-box; padding: var(--moinho-space-xs); border-radius: var(--moinho-radius-md); background: var(--moinho-whatsapp-ink); color: var(--moinho-branco); font-size: var(--moinho-role-small-size); font-weight: var(--moinho-weight-medium); line-height: var(--moinho-role-small-leading); text-decoration: none; }
.moinho-canal__continuar .moinho-canal__retrato { inline-size: 2.5rem; block-size: 2.5rem; }

/* Contatos visiveis antes da conversa. */
.moinho-canal.is-chat { --moinho-canal-largura: 32rem; }
.moinho-canal__contatos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--moinho-space-2xs); margin-block-end: var(--moinho-space-sm); }
.moinho-canal .moinho-canal__contato { display: flex; flex-direction: column; gap: var(--moinho-space-2xs); min-inline-size: 0; padding: var(--moinho-space-xs); border: var(--moinho-border-width) solid var(--moinho-tinta-200); border-radius: var(--moinho-radius-md); background: var(--moinho-branco); color: var(--moinho-tinta-700); text-decoration: none; }
.moinho-canal .moinho-canal__contato:hover { border-color: var(--moinho-whatsapp-ink); background: var(--moinho-whatsapp-soft); }
.moinho-canal__contato-topo { display: flex; align-items: center; gap: var(--moinho-space-2xs); }
.moinho-canal__contato .moinho-canal__retrato { inline-size: 2rem; block-size: 2rem; }
.moinho-canal__contato .moinho-canal__nome { font-size: var(--moinho-role-small-size); }
.moinho-canal__contato-icone { display: flex; margin-inline-start: auto; color: var(--moinho-whatsapp-ink); }
.moinho-canal__contato-icone .moinho-icon { inline-size: 1rem; block-size: 1rem; }
.moinho-canal__telefone { margin-block-start: auto; color: var(--moinho-whatsapp-ink); font-size: var(--moinho-role-caption-size); font-variant-numeric: tabular-nums; line-height: var(--moinho-role-caption-leading); overflow-wrap: anywhere; }
.moinho-canal.is-chat .moinho-canal__whatsapp { display: none; }
.moinho-canal.is-chat .moinho-canal__cabecalho { border: 0; padding-block-end: 0; }
/* Isola os controles dos estilos globais de botoes do WordPress/Elementor. */
#moinho-canal button.moinho-canal__resposta {
 text-transform: none !important;
 letter-spacing: normal !important;
 font-family: var(--moinho-role-ui-family) !important;
 font-weight: var(--moinho-weight-medium) !important;
 border-radius: var(--moinho-radius-pill) !important;
 background: var(--moinho-whatsapp-soft) !important;
 color: var(--moinho-whatsapp-ink) !important;
 border: var(--moinho-border-width) solid transparent !important;
 box-shadow: none !important;
 transform: none !important;
}
#moinho-canal button.moinho-canal__resposta:is(:hover, :focus-visible) { background: var(--moinho-whatsapp-hover) !important; }
#moinho-canal button.moinho-canal__resposta:focus-visible { outline: 2px solid var(--moinho-whatsapp-ink) !important; outline-offset: 3px; }
#moinho-canal button.moinho-canal__resposta--voltar { background: transparent !important; color: var(--moinho-tinta-500) !important; }
@media (max-width: 30rem) {
 .moinho-canal__contato-topo { flex-wrap: wrap; }
 .moinho-canal__contato-icone { display: none; }
}
