/* ==========================================================================
   Gran Vitória · conversa no estilo WhatsApp para pedir cotação (todo o site)
   Copiada da Pellizzari (kit da Garage72, tutoriais/formulario-em-conversa-whatsapp-replicar.md
   da Vantt), prefixo gvc. A conversa usa as cores do próprio WhatsApp.
   ========================================================================== */
/* ============ CONVERSA NO ESTILO WHATSAPP ============ */
/* Cores do próprio WhatsApp (topo verde, fundo bege, balão branco e balão verde-claro),
   no mesmo padrão dos formulários da Dani Goe e da Muniz Fazendas. */
.gvc-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  z-index:9998;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.gvc-overlay.active{opacity:1;visibility:visible}

/* Celular e tablet: a conversa ocupa a tela, como o próprio WhatsApp */
.gvc{position:fixed;inset:0;height:100vh;height:100dvh;z-index:9999;display:flex;flex-direction:column;
  background:#efe7dd;color:#111b21;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;overflow:hidden;text-align:left;
  opacity:0;visibility:hidden;transform:translateY(24px);
  transition:opacity .3s cubic-bezier(.22,.61,.36,1),transform .3s cubic-bezier(.22,.61,.36,1),visibility .3s}
.gvc.active{opacity:1;visibility:visible;transform:none}
.gvc:focus{outline:none}
/* Computador: janela flutuante no canto, com o site visível ao fundo */
@media(min-width:769px){
  .gvc{inset:auto 24px 24px auto;width:400px;height:min(640px,calc(100vh - 48px));border-radius:14px;
    box-shadow:0 24px 64px rgba(0,0,0,.45)}
}

.gvc-topo{display:flex;align-items:center;gap:12px;padding:10px 8px 10px 14px;background:#075e54;color:#fff;flex:none}
.gvc-avatar{width:42px;height:42px;border-radius:50%;background:#dfe5e7;color:#075e54;font-weight:800;font-size:15px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;flex:none}
.gvc-avatar{background:#fff}
.gvc-avatar img{width:86%;height:86%;object-fit:contain}
.gvc-quem{flex:1;min-width:0}
.gvc-quem b{display:block;color:#fff;font-size:16px;font-weight:600;line-height:1.25}
.gvc-quem small{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.85);font-size:12.5px;line-height:1.3}
.gvc-quem small i{width:7px;height:7px;border-radius:50%;background:#25d366;display:inline-block;flex:none}
.gvc-fechar{background:none;border:0;color:#fff;font-size:28px;line-height:1;padding:4px 10px;
  cursor:pointer;border-radius:50%;min-width:44px;min-height:44px}
.gvc-fechar:hover{background:rgba(255,255,255,.15)}

.gvc-corpo{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 12px 10px;
  display:flex;flex-direction:column;gap:6px;
  background-color:#efe7dd;background-image:radial-gradient(rgba(7,94,84,.07) 1px,transparent 1px);background-size:18px 18px}
.gvc-msg{position:relative;max-width:84%;padding:7px 10px 19px;border-radius:8px;font-size:15px;line-height:1.4;color:#111b21;
  box-shadow:0 1px .5px rgba(11,20,26,.13);overflow-wrap:anywhere;animation:gvcBolha .25s ease-out}
@keyframes gvcBolha{from{opacity:0;transform:translateY(8px) scale(.96)}}
.gvc-msg time{position:absolute;right:8px;bottom:3px;font-size:11px;color:#667781}
.gvc-msg.ela{background:#fff;align-self:flex-start;border-top-left-radius:0}
.gvc-msg.eu{background:#d9fdd3;align-self:flex-end;border-top-right-radius:0;min-width:74px}

.gvc-digitando{align-self:flex-start;background:#fff;padding:12px 14px;border-radius:8px;border-top-left-radius:0;display:flex;gap:4px;
  box-shadow:0 1px .5px rgba(11,20,26,.13)}
.gvc-digitando i{width:7px;height:7px;border-radius:50%;background:#9aa0a6;animation:gvcPula 1s infinite}
.gvc-digitando i:nth-child(2){animation-delay:.15s}
.gvc-digitando i:nth-child(3){animation-delay:.3s}
@keyframes gvcPula{50%{transform:translateY(-4px);opacity:.5}}

/* Opções de serviço: botões de resposta rápida do WhatsApp */
.gvc-opcoes{display:flex;flex-direction:column;gap:6px;align-self:flex-start;width:84%;animation:gvcBolha .3s ease-out}
.gvc-opcoes:focus{outline:none}
.gvc-opcoes button{background:#fff;border:0;color:#008069;
  font-family:inherit;font-size:15px;font-weight:600;line-height:1.3;padding:12px 14px;border-radius:8px;cursor:pointer;text-align:center;min-height:46px;
  box-shadow:0 1px .5px rgba(11,20,26,.13);transition:background .2s,color .2s}
.gvc-opcoes button:hover{background:#f0f7f5}
.gvc-opcoes button.destaque{background:#00a884;color:#fff}
.gvc-opcoes button.destaque:hover{background:#008f72}

.gvc-nota{flex:none;min-height:20px;padding:2px 16px 4px;background:#f0f2f5;font-size:13px;line-height:1.35;color:transparent}
.gvc-nota.erro{color:#c0392b}
.gvc-nota.aviso{color:#8a5a00}
.gvc-base{flex:none;display:flex;gap:8px;align-items:center;padding:6px 10px calc(8px + env(safe-area-inset-bottom));background:#f0f2f5}
.gvc-base[hidden]{display:none}
.gvc-entrada{flex:1;min-width:0;border:1.5px solid transparent;border-radius:24px;padding:12px 16px;
  font-family:inherit;font-size:16px;font-weight:400;color:#111b21;background:#fff;outline:none}
.gvc-entrada::placeholder{color:#8696a0}
.gvc-entrada:focus{border-color:#00a884}
.gvc-enviar{width:48px;height:48px;border-radius:50%;border:0;background:#00a884;color:#fff;cursor:pointer;flex:none;
  display:grid;place-items:center;transition:background .2s}
.gvc-enviar:hover{background:#008f72}
.gvc-lgpd{flex:none;margin:0;padding:4px 12px calc(8px + env(safe-area-inset-bottom));background:#f0f2f5;
  font-size:11.5px;color:#667781;text-align:center;line-height:1.4}
.gvc-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Estado "Abrindo o WhatsApp..." (os 3 segundos antes de sair da página) */
.gvc-abrindo{align-self:stretch;background:#fff;border-radius:8px;box-shadow:0 1px .5px rgba(11,20,26,.13);
  padding:12px 14px;margin-top:4px;animation:gvcBolha .25s ease-out}
.gvc-abrindo .linha{display:flex;align-items:center;gap:10px;color:#075e54;font-size:14.5px;font-weight:600}
.gvc-abrindo .giro{width:16px;height:16px;border-radius:50%;border:2px solid rgba(0,168,132,.25);border-top-color:#00a884;
  animation:gvcGira .8s linear infinite;flex:none}
@keyframes gvcGira{to{transform:rotate(360deg)}}
.gvc-abrindo .barra{height:3px;border-radius:3px;background:#e9edef;margin-top:10px;overflow:hidden}
.gvc-abrindo .barra i{display:block;height:100%;width:100%;background:#25d366;transform-origin:left;
  animation:gvcBarra 3s linear forwards}
@keyframes gvcBarra{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.gvc-abrindo.pronto .giro,.gvc-abrindo.pronto .barra{display:none}
.gvc-ir{align-self:stretch;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;min-height:48px;
  background:#25d366;color:#08321f;border-radius:8px;font-size:15px;font-weight:700;text-decoration:none}
.gvc-ir:hover{background:#1fb955}
.gvc-dica{margin:0;font-size:12.5px;line-height:1.5;color:#54656f}

.gvc button:focus-visible,.gvc a:focus-visible,.gvc-entrada:focus-visible{outline:2px solid #075e54;outline-offset:2px}
.gvc-topo button:focus-visible{outline-color:#fff}

@media(prefers-reduced-motion:reduce){
  .gvc,.gvc-overlay{transition:none}
  .gvc-msg,.gvc-opcoes,.gvc-abrindo{animation:none}
  .gvc-digitando i,.gvc-abrindo .giro{animation:none}
  .gvc-abrindo .barra i{animation:none;transform:none}
}
