/* Seção "Fale conosco" da /nova-pagina/ (opção B escolhida): conversa estilo
 * WhatsApp com botões de assunto que já abrem a mensagem certa, selo
 * aberto/fechado ao vivo (contato.js) e contatos secundários abaixo. */

body.nova-pagina .nv-ct {
  --ct-terra: #b84c26;
  --ct-terra-esc: #8f3a1c;
  --ct-ink: #2b1608;
  --ct-ink-2: #5a4337;
  --ct-creme: #f8f2ec;
  --ct-verde: #1f8f4e;
  position: relative;
  isolation: isolate;
  padding: 104px max(24px, calc((100% - 1200px) / 2));
  background: #fff;
  color: var(--ct-ink-2);
  font-family: "Heebo", system-ui, sans-serif;
}
body.nova-pagina .nv-ct p { margin: 0; font-size: 16px; line-height: 1.65; }
body.nova-pagina .nv-ct a { text-decoration: none; }

/* cabeçalho */
body.nova-pagina .nv-ct__cabeca { max-width: 780px; margin: 0 auto 48px; text-align: center; }
body.nova-pagina .nv-ct__cabeca--esq { margin-left: 0; text-align: left; }
body.nova-pagina .nv-ct .nv-ct__sobre {
  margin-bottom: 14px; color: var(--ct-terra);
  font: 700 13px/1.3 "Heebo", system-ui, sans-serif; letter-spacing: 0.16em; text-transform: uppercase;
}
body.nova-pagina .nv-ct__titulo {
  margin: 0 0 16px; color: var(--ct-ink);
  font: 700 clamp(28px, 3.2vw, 44px)/1.12 "Lato", system-ui, sans-serif; text-wrap: balance;
}
body.nova-pagina .nv-ct__titulo em { font-style: italic; color: var(--ct-terra); }
/* ~62 caracteres por linha (antes ~98) */
body.nova-pagina .nv-ct .nv-ct__intro { max-width: 62ch; margin-inline: auto; text-wrap: pretty; }

/* ícones */
body.nova-pagina .nv-ct__i { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
body.nova-pagina .nv-ct__i--cheio { fill: currentColor; stroke: none; }
body.nova-pagina .nv-ct__btn-i { width: 18px; height: 18px; fill: currentColor; }
body.nova-pagina .nv-ct__seta { width: 18px; height: 18px; margin-left: auto; flex: none; fill: none; stroke: currentColor; stroke-width: 2; opacity: 0.45; transition: transform 200ms, opacity 200ms; }

/* selo aberto/fechado (texto preenchido por contato.js) */
body.nova-pagina .nv-ct .nv-ct__status {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px; border-radius: 999px;
  background: #f1f7f3; color: var(--ct-ink);
  font-size: 14px; line-height: 1.2; font-weight: 500;
}
body.nova-pagina .nv-ct__ponto { width: 9px; height: 9px; border-radius: 50%; background: #9a8c84; flex: none; }
body.nova-pagina .nv-ct__status.is-aberto .nv-ct__ponto { background: var(--ct-verde); box-shadow: 0 0 0 0 rgba(31, 143, 78, 0.5); animation: nv-ct-pulso 2.4s infinite; }
body.nova-pagina .nv-ct__status.is-fechado { background: #f6efea; }
/* fora do horário: ponto âmbar (convida a deixar mensagem), sem pulsar */
body.nova-pagina .nv-ct--b .nv-ct__status.is-fechado { background: none; }
body.nova-pagina .nv-ct--b .nv-ct__status.is-fechado .nv-ct__ponto { background: #ffc46b; }
@keyframes nv-ct-pulso { 0% { box-shadow: 0 0 0 0 rgba(31, 143, 78, 0.45); } 70% { box-shadow: 0 0 0 8px rgba(31, 143, 78, 0); } 100% { box-shadow: 0 0 0 0 rgba(31, 143, 78, 0); } }

/* ===================== B — WhatsApp primeiro ===================== */
body.nova-pagina .nv-ct--b { background: linear-gradient(180deg, #fff 0%, var(--ct-creme) 100%); }
body.nova-pagina .nv-ct__chat {
  max-width: 620px; margin: 0 auto; overflow: hidden;
  border-radius: 24px; background: #efe7dd;
  box-shadow: 0 30px 60px rgba(43, 22, 8, 0.16);
}
body.nova-pagina .nv-ct__chat-topo { display: flex; align-items: center; gap: 12px; padding: 14px 18px; background: #1f6f4a; color: #fff; }
body.nova-pagina .nv-ct__chat-topo strong { display: block; font: 700 16px/1.2 "Lato", system-ui, sans-serif; margin-bottom: 4px; }
body.nova-pagina .nv-ct__chat-avatar { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: #1f8f4e; }
body.nova-pagina .nv-ct__chat-avatar .nv-ct__i { width: 26px; height: 26px; }
body.nova-pagina .nv-ct--b .nv-ct__status { padding: 0; background: none; color: #e6f5ec; font-size: 13px; }
body.nova-pagina .nv-ct--b .nv-ct__status.is-aberto .nv-ct__ponto { background: #7cf0a8; }
body.nova-pagina .nv-ct__bolha {
  position: relative; margin: 22px 22px 8px; max-width: 86%;
  padding: 14px 16px; border-radius: 4px 16px 16px 16px;
  background: #fff; color: var(--ct-ink); font-size: 16px; line-height: 1.55;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
body.nova-pagina .nv-ct__assuntos { list-style: none; margin: 0; padding: 10px 22px 26px; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
body.nova-pagina .nv-ct__assuntos a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px;
  border-radius: var(--raio-botao, 999px); background: #dcf8c6; color: #10351f;
  font: 700 15px/1 "Lato", system-ui, sans-serif;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  transition: transform 150ms, background-color 150ms;
}
body.nova-pagina .nv-ct__assuntos a:is(:hover, :focus-visible) { background: #c7f0a8; transform: translateY(-2px); }
body.nova-pagina .nv-ct__mini { list-style: none; margin: 34px auto 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; }
body.nova-pagina .nv-ct__mini li { display: inline-flex; align-items: center; gap: 8px; color: var(--ct-terra); }
body.nova-pagina .nv-ct__mini a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ct-ink); font-weight: 500; }
body.nova-pagina .nv-ct__mini a:is(:hover, :focus-visible) { color: var(--ct-terra); text-decoration: underline; }
body.nova-pagina .nv-ct a:focus-visible { outline: 3px solid #2b1608; outline-offset: 3px; }

/* ===================== responsivo ===================== */
@media (max-width: 767px) {
  body.nova-pagina .nv-ct { padding: 72px 20px; }
  /* selo longo ("Fora do horário · …") quebra em linhas sem empurrar o avatar */
  body.nova-pagina .nv-ct--b .nv-ct__status { align-items: flex-start; }
  body.nova-pagina .nv-ct--b .nv-ct__status .nv-ct__ponto { margin-top: 2px; }
  body.nova-pagina .nv-ct__cabeca { margin-bottom: 32px; }
  body.nova-pagina .nv-ct__bolha { margin: 18px 14px 6px; }
  body.nova-pagina .nv-ct__assuntos { padding: 8px 14px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  body.nova-pagina .nv-ct__status.is-aberto .nv-ct__ponto { animation: none; }
  body.nova-pagina .nv-ct__assuntos a { transition: none; }
}

/* a faixa de serviços (separador) vem logo abaixo: menos respiro no fim da seção */
body.nova-pagina .nv-ct { padding-bottom: 48px; }
@media (max-width: 767px) { body.nova-pagina .nv-ct { padding-bottom: 32px; } }
