/* Portal EBD · botão do WhatsApp e os formulários de contato (js/leads.js):
   o do WhatsApp (cartão acima do botão no desktop) e o passo 1 do cadastro
   (janela no centro). No celular (até 699 px) os dois viram folha de baixo. */

/* Botão flutuante do WhatsApp */
.pl-zap{position:fixed;right:22px;bottom:22px;z-index:40;height:60px;padding:0 24px 0 18px;border-radius:99px;background:#6F275F;color:#fff !important;display:flex;align-items:center;justify-content:center;gap:10px;font-family:'Plus Jakarta Sans','Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;box-shadow:0 0 0 6px rgba(243,231,239,.9),0 18px 36px rgba(90,29,76,.32);transition:background .15s,padding .32s cubic-bezier(.2,.7,.3,1),gap .32s cubic-bezier(.2,.7,.3,1)}
.pl-zap:hover{background:#5A1D4C;color:#fff !important}
.pl-zap svg{flex-shrink:0}
.pl-zap .pl-zap-x,.pl-zap .pl-zap-curto{display:none}
/* o texto aparece ao carregar e some depois de 4 s (js/leads.js): fica só o ícone, num círculo */
.pl-zap .pl-zap-longo,.pl-zap .pl-zap-curto{overflow:hidden;max-width:300px;transition:max-width .32s cubic-bezier(.2,.7,.3,1),opacity .2s}
.pl-zap .pl-zap-longo{display:inline-block}
.pl-zap.pl-zap--icone{padding:0 17px;gap:0}
.pl-zap.pl-zap--icone .pl-zap-longo,.pl-zap.pl-zap--icone .pl-zap-curto{max-width:0;opacity:0}
.pl-zap.pl-zap--x{z-index:72;width:60px;padding:0 17px;gap:0}
.pl-zap.pl-zap--x .pl-zap-icone,.pl-zap.pl-zap--x .pl-zap-longo{display:none}
.pl-zap.pl-zap--x .pl-zap-x{display:block}
@media (max-width:699px){
  .pl-zap{right:16px;bottom:20px;height:56px;padding:0 20px 0 16px;gap:8px;font-size:15px;box-shadow:0 0 0 5px rgba(243,231,239,.9),0 16px 32px rgba(90,29,76,.32)}
  .pl-zap .pl-zap-icone{width:24px;height:24px}
  .pl-zap .pl-zap-longo{display:none}
  .pl-zap .pl-zap-curto{display:inline-block}
  .pl-zap.pl-zap--icone{padding:0 16px;gap:0}
  /* a folha de baixo cobre o botão: ele não vira X no celular */
  .pl-zap.pl-zap--x{z-index:40;width:auto;padding:0 20px 0 16px;gap:8px}
  .pl-zap.pl-zap--x .pl-zap-icone,.pl-zap.pl-zap--x .pl-zap-curto{display:inline-block}
  .pl-zap.pl-zap--icone.pl-zap--x{padding:0 16px;gap:0}
  .pl-zap.pl-zap--x .pl-zap-icone{display:block}
  .pl-zap.pl-zap--x .pl-zap-x{display:none}
}
@media (prefers-reduced-motion:reduce){
  .pl-zap,.pl-zap .pl-zap-longo,.pl-zap .pl-zap-curto{transition:none}
}

/* Fundo, camada e caixa */
.pl-fundo{position:fixed;inset:0;z-index:70;background:rgba(23,19,26,.32)}
.pl-fundo--cad{background:rgba(23,19,26,.36)}
.pl-camada{position:fixed;inset:0;z-index:71;display:flex;align-items:center;justify-content:center;padding:40px 20px;overflow-y:auto}
.pl-caixa{font-family:'Plus Jakarta Sans','Helvetica Neue',Arial,sans-serif;color:#17131A;background:#fff;box-sizing:border-box;display:flex;flex-direction:column;text-align:left;-webkit-font-smoothing:antialiased}
.pl-caixa *{box-sizing:border-box}
.pl-caixa a{color:#6F275F;text-decoration:none}
.pl-caixa a:hover{color:#4A1740}
.pl-caixa h2,.pl-caixa p{margin:0}
.pl-caixa :focus-visible{outline:3px solid #6F275F;outline-offset:2px}
.pl-caixa[hidden],.pl-camada[hidden],.pl-fundo[hidden],.pl-caixa [hidden]{display:none !important}

/* WhatsApp no desktop: cartão de 380 acima do botão */
.pl-caixa--zap{position:fixed;z-index:71;right:22px;bottom:100px;width:380px;max-height:calc(100vh - 122px);overflow-y:auto;border-radius:28px;box-shadow:0 30px 60px rgba(35,22,33,.24);padding:24px;gap:18px;
  --pl-h:50px;--pl-r:17px;--pl-pad:16px;--pl-fs:15px;--pl-pais:12px}
/* Cadastro no desktop: janela no centro, até 460 */
.pl-caixa--cad{width:100%;max-width:460px;margin:auto;border-radius:28px;box-shadow:0 30px 60px rgba(35,22,33,.24);padding:28px;gap:20px;
  --pl-h:54px;--pl-r:18px;--pl-pad:18px;--pl-fs:15.5px;--pl-pais:14px}

.pl-alca{display:none;width:40px;height:5px;border-radius:99px;background:#D8CFD5;align-self:center;flex-shrink:0}
.pl-etapa{display:flex;flex-direction:column;gap:18px}
.pl-caixa--cad .pl-etapa{gap:20px}
.pl-form{display:contents}

.pl-topo{display:flex;align-items:flex-start;gap:12px}
.pl-icone{width:48px;height:48px;border-radius:16px;background:#F3E7EF;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pl-titulos{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.pl-caixa--cad .pl-titulos{gap:8px}
.pl-titulos h2{font-size:19px;font-weight:800;letter-spacing:-.5px;line-height:1.2}
.pl-titulos p{font-size:13.5px;font-weight:500;color:#6B616A;line-height:1.5}
.pl-caixa--cad .pl-titulos h2{font-size:26px;letter-spacing:-.8px;line-height:1.15}
.pl-caixa--cad .pl-titulos p{font-size:14.5px;line-height:1.55}
.pl-passo{display:flex;align-items:center;gap:8px}
.pl-passo span{height:6px;width:28px;border-radius:99px;background:#EFE7EC}
.pl-passo span:first-child{background:#6F275F}
.pl-passo b{font-size:11.5px;font-weight:800;letter-spacing:1.3px;color:#6E6470;margin-left:4px}
.pl-fechar{width:38px;height:38px;border-radius:13px;border:0;background:#F3EEF1;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;padding:0}
.pl-fechar:hover{background:#EAE2E7}

.pl-campos{display:flex;flex-direction:column;gap:12px}
.pl-caixa--cad .pl-campos{gap:14px}
.pl-campo{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;color:#6E6470}
.pl-campo label,.pl-rotulo{font-size:12.5px;font-weight:700;color:#6E6470}
.pl-input{width:100%;height:var(--pl-h);border:0;border-radius:var(--pl-r);box-shadow:inset 0 0 0 1.5px #E6DEE3;padding:0 var(--pl-pad);font-family:inherit;font-size:var(--pl-fs);font-weight:600;color:#17131A;background:#FAF5F8;margin:0;-webkit-appearance:none;appearance:none}
.pl-input::placeholder{color:#8A7F87;font-weight:500}
.pl-input:focus{outline:none;box-shadow:inset 0 0 0 2px #6F275F}
.pl-linha{display:flex;gap:8px}
.pl-linha .pl-input{flex:1;min-width:0}
/* País: o select de verdade fica por cima, transparente; o que se vê é o "+55" do projeto de design */
.pl-pais{position:relative;flex-shrink:0;height:var(--pl-h);border-radius:var(--pl-r);box-shadow:inset 0 0 0 1.5px #E6DEE3;background:#fff;padding:0 var(--pl-pais);display:flex;align-items:center;gap:6px;font-size:var(--pl-fs);font-weight:700;color:#17131A;cursor:pointer}
.pl-pais:focus-within{box-shadow:inset 0 0 0 2px #6F275F}
.pl-pais select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;border:0;margin:0}
.pl-erro{font-size:12px;font-weight:600;color:#C6392B;line-height:1.4}

.pl-previa{background:#F8F6F5;border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.pl-previa span:first-child{font-size:10.5px;font-weight:800;letter-spacing:1px;color:#6E6470}
.pl-previa span:last-child{font-size:13.5px;font-weight:600;color:#17131A;line-height:1.45;overflow-wrap:anywhere}

.pl-botao{height:56px;width:100%;border:0;border-radius:19px;background:#6F275F;color:#fff;font-family:inherit;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 18px 36px rgba(90,29,76,.24);cursor:pointer;transition:background .15s}
.pl-botao:hover{background:#5A1D4C}
.pl-nota{font-size:12px;font-weight:500;color:#6E6470;line-height:1.5;text-align:center}
/* reCAPTCHA v3 do WhatsApp: o selo do Google fica escondido e o aviso vai no
   formulário, como o Google permite. */
.grecaptcha-badge{visibility:hidden}
.pl-nota--captcha{font-size:11px;margin-top:-6px}
.pl-caixa--cad .pl-nota{font-size:12.5px;line-height:1.55}
.pl-caixa--cad .pl-nota a{font-weight:700}
.pl-cel{display:none}

/* Estados depois do envio */
.pl-fim{display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center;padding:8px 0}
.pl-caixa--cad .pl-fim{gap:14px;padding:20px 0}
.pl-ok{width:52px;height:52px;border-radius:18px;background:#B9F0CF;display:flex;align-items:center;justify-content:center}
.pl-caixa--cad .pl-ok{background:#F3E7EF}
.pl-fim h2{font-size:19px;font-weight:800;letter-spacing:-.5px}
.pl-caixa--cad .pl-fim h2{font-size:21px;letter-spacing:-.6px}
.pl-fim p{font-size:14px;font-weight:500;color:#6B616A;line-height:1.55}
.pl-de-novo{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 22px;border-radius:17px;background:#F3E7EF;color:#5A1D4C !important;font-size:14.5px;font-weight:700}
.pl-de-novo:hover{background:#EAD9E4}
.pl-voltar{border:0;background:none;font-family:inherit;font-size:13px;font-weight:700;color:#6E6470;cursor:pointer;min-height:44px;padding:0 8px}
.pl-voltar:hover{color:#17131A}

/* Celular: folha de baixo */
@media (max-width:699px){
  .pl-camada{padding:0;align-items:flex-end;overflow:hidden}
  .pl-caixa--zap,.pl-caixa--cad{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-width:none;margin:0;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:28px 28px 0 0;box-shadow:0 -14px 34px rgba(35,22,33,.14);padding:10px 20px max(34px,env(safe-area-inset-bottom));gap:16px;
    --pl-h:54px;--pl-r:17px;--pl-pad:16px;--pl-fs:16px;--pl-pais:12px}
  .pl-caixa--cad{gap:18px;--pl-r:18px}
  .pl-alca{display:block}
  .pl-etapa{gap:16px}
  .pl-caixa--cad .pl-etapa{gap:18px}
  .pl-caixa--cad .pl-campos{gap:12px}
  .pl-icone{display:none}
  .pl-titulos h2{font-size:21px;letter-spacing:-.6px}
  .pl-titulos p{font-size:14px}
  .pl-caixa--cad .pl-titulos h2{font-size:24px;letter-spacing:-.7px}
  .pl-caixa--cad .pl-titulos p{font-size:14px}
  /* no celular a prévia vem antes dos campos */
  .pl-caixa--zap .pl-campos,.pl-caixa--zap .pl-botao,.pl-caixa--zap .pl-nota{order:1}
  .pl-desk{display:none}
  .pl-cel{display:inline}
  .pl-fim{padding:12px 0 8px}
  .pl-caixa--cad .pl-fim{padding:20px 0}
  .pl-fim h2{font-size:21px;letter-spacing:-.6px}
  .pl-caixa--zap .pl-fim p{font-size:14.5px}
  .pl-de-novo{display:flex;align-self:stretch;height:54px;border-radius:19px;font-size:15px}
}

/* Privacidade e Termos por cima do formulário ou do aviso de cookies (js/leads.js) */
.pl-fundo--legal{z-index:80;background:rgba(23,19,26,.4)}
.pl-camada--legal{z-index:81}
.pl-caixa--legal{width:100%;max-width:720px;max-height:calc(100vh - 80px);margin:auto;border-radius:28px;box-shadow:0 30px 60px rgba(35,22,33,.24);padding:0;overflow:hidden}
.pl-legal-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 18px 28px;border-bottom:1px solid #F2ECEF;flex-shrink:0}
.pl-legal-topo h2{margin:0;font-size:20px;line-height:1.25;font-weight:800;letter-spacing:-.5px;color:#17131A}
.pl-caixa--legal .pl-fechar{width:44px;height:44px;border-radius:15px}
.pl-legal-texto{overflow-y:auto;padding:8px 28px 28px;font-size:14.5px;line-height:1.65;color:#3B333D;outline:none}
.pl-legal-texto h2{font-size:18px;line-height:1.3;letter-spacing:-.3px;font-weight:800;color:#17131A;margin:24px 0 8px}
.pl-legal-texto h3{font-size:15.5px;font-weight:800;color:#17131A;margin:18px 0 6px}
.pl-legal-texto p{margin:0 0 12px}
.pl-legal-texto .ind{padding-left:22px}.pl-legal-texto .ind2{padding-left:44px}
.pl-legal-texto b{color:#17131A}
.pl-legal-carregando{color:#6E6470;padding-top:16px}
@media (max-width:699px){
  .pl-camada--legal{padding:12px;align-items:center}
  .pl-caixa--legal{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:24px}
  .pl-legal-topo{padding:14px 14px 14px 20px}
  .pl-legal-topo h2{font-size:18px}
  .pl-legal-texto{padding:4px 20px 24px}
}
