/* Assistente virtual (chat guiado) - js/chat.js. Cores do site (navy/cobre). */
.ch-lanc{position:fixed;right:24px;bottom:18px;z-index:70;width:60px;height:60px;border-radius:50%;border:0;cursor:pointer;padding:0;
  background:#0a2138;box-shadow:0 10px 26px rgba(0,0,0,.3);display:grid;place-items:center;transition:transform .2s}
.ch-lanc img{width:52px;height:52px;border-radius:50%;object-fit:cover;display:block}
.ch-lanc .bal{position:absolute;right:74px;bottom:12px;background:#fff;color:#0a2138;font:500 14px/1.3 Inter,Arial,sans-serif;
  padding:9px 14px;border-radius:14px 14px 2px 14px;box-shadow:0 6px 18px rgba(0,0,0,.18);white-space:nowrap;opacity:0;transform:translateX(8px);
  transition:.35s;pointer-events:none}
.ch-lanc.dica .bal{opacity:1;transform:none}
.ch-lanc .pt{position:absolute;top:2px;right:2px;width:13px;height:13px;border-radius:50%;background:#2fbf71;border:2px solid #0a2138}
.ch-jan{position:fixed;right:24px;bottom:90px;z-index:80;width:380px;height:min(640px,calc(100vh - 110px));background:#fff;border-radius:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden;font-family:Inter,Arial,sans-serif;color:#1f2a37;
  opacity:0;visibility:hidden;transform:translateY(16px) scale(.98);transition:opacity .25s,transform .25s,visibility .25s}
.ch-jan.aberto{opacity:1;visibility:visible;transform:none}
.ch-cab{display:flex;align-items:center;gap:10px;background:#0a2138;color:#fff;padding:12px 12px 12px 16px}
.ch-cab img{width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #d4a373}
.ch-cab .n{flex:1;min-width:0;line-height:1.2}
.ch-cab .n b{display:block;font-weight:600;font-size:15px}
.ch-cab .n small{font-size:12px;color:#e6b98e}
.ch-cab button{width:36px;height:36px;border:0;border-radius:50%;background:none;color:#fff;cursor:pointer;display:grid;place-items:center;opacity:.85}
.ch-cab button svg{width:20px;height:20px}
/* tela inicial */
.ch-ini{flex:1;overflow:auto;padding:22px 24px;text-align:center;position:relative;margin:0}
.ch-ini .av{width:110px;height:110px;margin:4px auto 14px;border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 5px #d4a373}
.ch-ini .av img{width:110px;height:110px;border-radius:50%;display:block}
.ch-ini p{margin:0 0 18px;font-size:15px;line-height:1.5;color:#33404e}
.ch-ini input{width:100%;box-sizing:border-box;border:1px solid #cfd5db;border-radius:8px;padding:12px 14px;font:15px Inter,Arial,sans-serif;
  margin-bottom:10px;outline:none;color:#1f2a37}
.ch-ini input:focus{border-color:#0a2138;box-shadow:0 0 0 3px rgba(212,163,115,.3)}
.ch-ini input.inv{border-color:#b3261e}
.ch-ini .err{color:#b3261e;font-size:13px;min-height:18px;text-align:left;margin:-2px 0 6px}
.ch-btn{width:100%;border:0;border-radius:999px;background:#1a3652;color:#fff;font:600 15px Inter,Arial,sans-serif;padding:13px;cursor:pointer}
.ch-btn:disabled{background:#d9dde2;color:#8a94a0;cursor:default}
.ch-ini .lgpd{font-size:11.5px;color:#7a8592;margin:12px 0 0;line-height:1.45}
/* conversa */
.ch-conv{flex:1;overflow:auto;padding:16px 14px 8px;background:#f6f7f9;display:none;scroll-behavior:smooth}
.ch-jan.conversa .ch-ini{display:none}
.ch-jan.conversa .ch-conv,.ch-jan.conversa .ch-pe{display:flex}
.ch-conv{flex-direction:column;gap:8px}
.ch-m{display:flex;gap:8px;align-items:flex-end;max-width:92%;animation:chEnt .25s ease}
.ch-m.bot img{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.ch-m .t{background:#fff;border-radius:14px 14px 14px 4px;padding:10px 13px;font-size:14.5px;line-height:1.45;box-shadow:0 1px 2px rgba(0,0,0,.08);white-space:pre-line}
.ch-m.eu{align-self:flex-end}
.ch-m.eu .t{background:#0a2138;color:#fff;border-radius:14px 14px 4px 14px}
.ch-m .t b{font-weight:600}
@keyframes chEnt{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ch-dig .t{display:flex;gap:4px;padding:13px 14px}
.ch-dig i{width:7px;height:7px;border-radius:50%;background:#8a94a0;animation:chPul 1s infinite}
.ch-dig i:nth-child(2){animation-delay:.15s}.ch-dig i:nth-child(3){animation-delay:.3s}
@keyframes chPul{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.ch-ops{display:flex;flex-wrap:wrap;gap:6px;padding-left:38px;animation:chEnt .25s ease}
.ch-ops button{border:1px solid #d4a373;background:#fff;color:#0a2138;border-radius:999px;padding:8px 13px;font:500 13.5px Inter,Arial,sans-serif;cursor:pointer;
  text-align:left;transition:.15s}
.ch-ops button.vol{border-color:#cfd5db;color:#5b6673}
.ch-ops.usado{display:none}
.ch-cap{display:flex;align-items:center;gap:8px;padding-left:38px;flex-wrap:wrap}
.ch-cap img{width:150px;height:50px;border:1px solid #d5dbe5;border-radius:6px;background:#fff}
.ch-cap button{border:1px solid #d5dbe5;background:#fff;border-radius:6px;width:36px;height:36px;cursor:pointer;color:#0a2138}
/* rodape / entrada */
.ch-pe{display:none;flex-direction:column;border-top:1px solid #e6e9ee;background:#fff;padding:10px 12px}
.ch-ent{display:flex;gap:8px;align-items:flex-end}
.ch-ent textarea{flex:1;resize:none;border:1px solid #cfd5db;border-radius:18px;padding:10px 14px;font:14.5px/1.4 Inter,Arial,sans-serif;max-height:120px;
  min-height:42px;outline:none;color:#1f2a37}
.ch-ent textarea:focus{border-color:#0a2138}
.ch-ent textarea:disabled{background:#f3f4f6}
.ch-ent button{width:42px;height:42px;border-radius:50%;border:0;background:#0a2138;color:#fff;cursor:pointer;display:grid;place-items:center;flex:none}
.ch-ent button:disabled{background:#d9dde2;cursor:default}
.ch-ent button svg{width:19px;height:19px}
.ch-pe small{display:block;text-align:center;color:#8a94a0;font-size:11.5px;margin-top:7px}
/* hover só em quem tem mouse: no iPhone o primeiro toque vira hover */
@media (hover:hover){
  .ch-lanc:hover{transform:scale(1.06)}
  .ch-cab button:hover{opacity:1;background:rgba(255,255,255,.12)}
  .ch-btn:not(:disabled):hover{background:#234a6e}
  .ch-ops button:hover{background:#d4a373;color:#0a2138}
  .ch-ops button.vol:hover{background:#eef0f3}
}
/* celular: mesmo corte do site.css (640px), onde a aba do WhatsApp desce para bottom:20px.
   Painel flutuante (não tela cheia): 12px de margem dos lados, logo acima do lançador
   (bottom 86px + 56px de altura), altura limitada para o site continuar visível em cima. */
@media (max-width:640px){
  .ch-lanc{right:14px;bottom:86px;width:56px;height:56px}
  .ch-lanc img{width:48px;height:48px}
  .ch-lanc .bal{display:none}
  .ch-jan{left:12px;right:12px;bottom:152px;width:auto;border-radius:16px;transform-origin:100% 100%;
    height:min(620px,calc(100vh - 168px));
    height:max(260px,min(620px,80dvh,calc(100dvh - 168px - env(safe-area-inset-top,0px))))}
  /* teclado aberto: js/chat.js mede o visualViewport e encaixa o painel na área visível */
  .ch-jan.ch-tec{top:var(--ch-vt,8px);bottom:auto;height:var(--ch-vh,60vh)}
  .ch-ini input,.ch-ent textarea{font-size:16px}
  html.ch-trava,html.ch-trava body{overflow:hidden}
}
@media (prefers-reduced-motion:reduce){.ch-m,.ch-ops,.ch-jan{animation:none;transition:none}}
