/* ==========================================================================
   POPUP DO RECADO EM AUDIO  ·  prefixo .tvam-
   --------------------------------------------------------------------------
   O microfone do cabecalho levava a pessoa para /contato e a jogava no meio de
   uma pagina cheia de outras coisas. Quem clica ali ja decidiu falar: tirar ela
   da pagina que estava lendo cobra uma navegacao inteira por uma acao que cabe
   numa caixa.

   Tres decisoes de desenho:

   1. A caixa explica o CAMINHO antes de pedir qualquer coisa. Tres passos em
      uma linha: voce fala, um advogado ouve, a equipe retorna no WhatsApp.
      Sem isso, gravar a propria voz e um salto no escuro, e a pessoa fecha.
   2. Nada de altura fixa. O widget troca de palco (gravar, ouvir, enviar) e a
      caixa acompanha, com rolagem so no corpo: o cabecalho e o botao de fechar
      ficam sempre no lugar.
   3. No celular ela sobe do rodape e ocupa a largura toda. Caixa centralizada
      em tela pequena briga com o teclado; ancorada embaixo, nao.

   Prefixo `tvam-` e nao `tva-` para nao esbarrar no widget que vive dentro.
   ========================================================================== */

.tvam{
  --tvam-ink:#2A1512;
  --tvam-ink2:#5E4038;
  --tvam-terra:#BB5A1C;
  --tvam-terra-ink:#9C4B17;
  --tvam-line:#E7D6C4;
  --tvam-card:#FFFDF9;
  --tvam-pa:#FBF0E4;

  position:fixed;inset:0;z-index:1200;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(14px,3vw,32px);
}
.tvam[hidden]{display:none}

/* fundo: escurece e desfoca o que ficou atras, para a caixa nao competir */
.tvam__ov{
  position:absolute;inset:0;
  background:rgba(34,12,10,.62);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  opacity:0;transition:opacity .25s ease
}
.tvam.is-on .tvam__ov{opacity:1}

.tvam__cx{
  position:relative;width:100%;max-width:560px;
  max-height:calc(100dvh - clamp(28px,6vw,64px));
  display:flex;flex-direction:column;overflow:hidden;
  border-radius:20px;background:var(--tvam-card);
  border:1px solid var(--tvam-line);
  box-shadow:0 40px 90px -30px rgba(34,12,10,.6),0 4px 14px -6px rgba(34,12,10,.3);
  transform:translateY(14px) scale(.985);opacity:0;
  transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .22s ease
}
.tvam.is-on .tvam__cx{transform:none;opacity:1}

/* ── cabecalho ─────────────────────────────────────────────────────────── */
.tvam__hd{
  position:relative;flex:none;
  padding:clamp(20px,3vw,26px) clamp(18px,3vw,28px) clamp(16px,2.2vw,20px);
  background:
    radial-gradient(120% 140% at 100% 0,rgba(187,90,28,.14),rgba(187,90,28,0) 62%),
    var(--tvam-pa);
  border-bottom:1px solid var(--tvam-line)
}
/* O microfone saia deslocado para cima e para a esquerda dentro da placa. Nao
   era o `place-items`: o proprio glifo do Font Awesome tem folga desigual em
   volta, e a altura de linha herdada empurrava tudo. Com flex, line-height 1 e
   o <i> em bloco, o que centraliza e a caixa do icone, nao a caixa do texto. */
.tvam__ic{
  display:block;width:48px;height:48px;margin-bottom:14px;
  border-radius:14px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12 14a3 3 0 0 0 3-3V5a3 3 0 0 0-6 0v6a3 3 0 0 0 3 3Z'/%3E%3Cpath d='M17.3 11a.9.9 0 0 0-1.8 0 3.5 3.5 0 0 1-7 0 .9.9 0 0 0-1.8 0 5.3 5.3 0 0 0 4.4 5.2V19H9.4a.9.9 0 0 0 0 1.8h5.2a.9.9 0 0 0 0-1.8h-1.7v-2.8A5.3 5.3 0 0 0 17.3 11Z'/%3E%3C/svg%3E"),linear-gradient(135deg,#C2321F,#8E2417);
  background-repeat:no-repeat;
  background-position:center;
  background-size:22px 22px,cover;
  box-shadow:0 10px 22px -12px rgba(194,50,31,.9)
}

/* o recuo existe so para o titulo nao passar por baixo do X. A fileira de
   passos fica ABAIXO do botao e nao precisa dele: com o recuo, a coluna do
   meio ficava estreita demais e "Um advogado analisa" quebrava em duas
   linhas enquanto as vizinhas ficavam em uma. */
.tvam__ic,.tvam__t,.tvam__s{padding-right:48px}
.tvam__t{
  margin:0 0 8px;font-family:'DM Sans',Inter,system-ui,sans-serif;
  font-size:clamp(21px,3.2vw,25px);font-weight:700;line-height:1.22;
  letter-spacing:-.015em;color:var(--tvam-ink)
}
.tvam__s{margin:0;font-size:16px;line-height:1.55;color:var(--tvam-ink2)}

.tvam__x{
  position:absolute;top:14px;right:14px;
  width:44px;height:44px;display:grid;place-items:center;
  border:1px solid var(--tvam-line);border-radius:12px;
  background:#fff;color:var(--tvam-ink2);font-size:17px;cursor:pointer;
  transition:background-color .18s,color .18s,transform .18s
}
.tvam__x:hover{background:var(--tvam-pa);color:var(--tvam-ink)}
.tvam__x:active{transform:scale(.94)}

/* ── os tres passos ────────────────────────────────────────────────────
   Diz o que acontece DEPOIS de gravar: sem isso, apertar um botao vermelho e
   gravar a propria voz e um salto no escuro.

   A primeira versao eram tres caixinhas soltas, com um icone pequeno em cima e
   o texto embaixo. Ficou feio por um motivo concreto: sao tres ETAPAS de uma
   sequencia, e caixas separadas e lado a lado nao dizem sequencia nenhuma, elas
   dizem "tres coisas quaisquer". Alem disso os glifos tinham larguras
   diferentes (microfone fino, balanca larga) e as colunas nunca alinhavam.

   Agora e UMA faixa continua dividida por filetes, com o icone dentro de um
   disco de largura fixa. O filete entre as celulas faz o papel da seta: o olho
   le da esquerda para a direita como um caminho. */
.tvam__passos{
  display:grid;grid-template-columns:repeat(3,1fr);
  margin-top:clamp(16px,2.2vw,20px);
  border-radius:14px;overflow:hidden;
  background:rgba(255,253,249,.9);
  border:1px solid rgba(231,214,196,.95)
}
/* O icone fica ACIMA do texto, nao ao lado. Ao lado, o disco de 28px mais o
   respiro comiam 38px da celula e "Advogado analisa" (130px) nao cabia nos
   108px que sobravam: saia cortado com reticencias. Em cima, os tres rotulos
   cabem inteiros em uma linha e as colunas ficam simetricas. */
.tvam__p{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:14px 8px 13px;min-width:0;text-align:center;
  border-left:1px solid rgba(231,214,196,.95)
}
.tvam__p:first-child{border-left:0}
/* disco de largura fixa: e ele que alinha as tres colunas, nao o glifo, que
   tem largura diferente em cada icone */
.tvam__p i{
  flex:none;width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;line-height:1;
  background:rgba(187,90,28,.13);color:var(--tvam-terra-ink);font-size:13px
}
.tvam__p b{
  min-width:0;font-size:15px;font-weight:650;line-height:1.25;
  color:var(--tvam-ink);white-space:nowrap
}

/* ── corpo: so ele rola ───────────────────────────────────────────────── */
.tvam__bd{
  flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:clamp(16px,2.6vw,22px) clamp(14px,3vw,24px) clamp(18px,3vw,26px)
}
/* dentro da caixa o widget nao precisa da propria moldura */
.tvam__bd .tva{border:0;background:transparent;padding:0;border-radius:0}
/* o cabecalho do widget repetiria o titulo da caixa */
.tvam__bd .tva .tva__hd{display:none}

/* ── rodape de confianca ──────────────────────────────────────────────── */
.tvam__ft{
  flex:none;display:flex;align-items:center;gap:9px;
  padding:12px clamp(16px,3vw,24px);
  border-top:1px solid var(--tvam-line);background:var(--tvam-pa);
  font-size:15px;line-height:1.45;color:var(--tvam-ink2)
}
.tvam__ft i{flex:none;color:var(--tvam-terra-ink);font-size:15px}

/* ── celular: sobe do rodape ──────────────────────────────────────────── */
@media(max-width:600px){
  .tvam{align-items:flex-end;padding:0}
  .tvam__cx{
    max-width:none;max-height:92dvh;
    border-radius:22px 22px 0 0;border-bottom:0;
    transform:translateY(26px);
  }
  .tvam.is-on .tvam__cx{transform:none}
  .tvam__hd{padding-right:58px}
  .tvam__ic{width:42px;height:42px;font-size:18px;margin-bottom:10px}
  /* em coluna estreita as tres celulas viram tres linhas da mesma faixa, e o
     filete passa de vertical para horizontal: continua lendo como caminho */
  .tvam__passos{grid-template-columns:1fr}
  /* empilhado sobra largura: o icone volta para o lado e a faixa fica baixa */
  .tvam__p{
    flex-direction:row;align-items:center;gap:11px;text-align:left;
    padding:11px 14px;border-left:0;border-top:1px solid rgba(231,214,196,.95)
  }
  .tvam__p:first-child{border-top:0}
}

@media(prefers-reduced-motion:reduce){
  .tvam__ov,.tvam__cx{transition:none}
  .tvam__cx{transform:none}
}

/* trava a pagina atras da caixa. `position:fixed` no lugar de `overflow:hidden`
   porque no iOS o overflow sozinho nao segura, e o JS guarda a posicao para
   devolver na hora de fechar. */
body.tvam-lock{position:fixed;left:0;right:0;width:100%;overflow:hidden}
