/* Formulários (contato e orçamento de serviço) e página de confirmação.
   Mesmos tokens do site; âmbar só no botão de envio, que é a conversão. */

.pf-box{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:clamp(18px,2.5vw,26px);box-shadow:var(--shadow);margin-bottom:16px;}
.pf-box.compacto{padding:18px;}
.pf-box h2{font-size:clamp(17px,2vw,20px);font-weight:800;letter-spacing:-.015em;color:var(--ink);margin:0 0 4px;}
.pf-intro{font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin:0 0 14px;}

.pf{display:flex;flex-direction:column;gap:13px;margin-top:14px;}
.pf-linha{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
@media(max-width:640px){.pf-linha{grid-template-columns:1fr;}}
.pf-campo{display:flex;flex-direction:column;gap:5px;}
.pf-campo label{font-size:12.5px;font-weight:600;color:var(--ink-soft);}
.pf-campo input,.pf-campo textarea{background:var(--ground);border:1px solid var(--line);border-radius:9px;padding:10px 12px;color:var(--ink);font-size:14.5px;font-family:inherit;width:100%;}
.pf-campo input:focus,.pf-campo textarea:focus{outline:2px solid var(--brand-lite);outline-offset:-1px;}
.pf-campo textarea{resize:vertical;line-height:1.55;}
.pf-campo input::placeholder,.pf-campo textarea::placeholder{color:var(--ink-faint);}

/* honeypot: fora da tela, mas não display:none (bot ignora o que está oculto assim) */
.pf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.pf-erro{display:flex;align-items:center;gap:8px;background:color-mix(in srgb,#c0392b 8%,transparent);border:1px solid color-mix(in srgb,#c0392b 28%,transparent);color:#c0392b;border-radius:9px;padding:10px 12px;font-size:13.5px;}

.pf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--amber);color:#3a2600;font-weight:700;font-size:14.5px;padding:12px 20px;border:0;border-radius:10px;cursor:pointer;box-shadow:var(--shadow);}
.pf-btn:hover{filter:brightness(1.05);}
.pf-btn.ghost{background:var(--panel);color:var(--ink-soft);border:1px solid var(--line);box-shadow:none;}
.pf-btn.ghost:hover{border-color:var(--brand-lite);color:var(--brand);filter:none;}
.pf-nota{font-size:11.5px;color:var(--ink-faint);line-height:1.5;margin:2px 0 0;}
.pf-nota a{color:var(--brand);text-decoration:underline;}

/* contato: form + dados + mapa */
.ct-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(20px,3vw,36px);align-items:start;}
@media(max-width:900px){.ct-layout{grid-template-columns:1fr;}}
/* Dica abaixo do campo de e-mail: a regra de domínio corporativo precisa aparecer ANTES
   do envio, senão o visitante só descobre a recusa depois de preencher tudo. */
.pf-dica{display:block;margin-top:6px;font-size:12px;color:var(--ink-faint);line-height:1.5;}

/* Descritivo que orienta o caminho, abaixo do título do bloco de informações. */
.ct-lead{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin:-6px 0 14px;}

/* Redes com ícone. Antes eram links de texto numa linha só, indistinguíveis do resto. */
.ct-redes{display:flex;flex-wrap:wrap;gap:10px;padding:4px 0 14px;border-bottom:1px solid var(--line);}
.ct-redes a{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--panel);
  display:grid;place-items:center;color:var(--ink-soft);transition:color .15s,border-color .15s,transform .15s;}
.ct-redes a:hover{color:var(--brand);border-color:var(--brand-lite);transform:translateY(-2px);}
.ct-vaga:hover b{color:var(--brand);}

.ct-item{display:flex;align-items:flex-start;gap:11px;padding:11px 0;border-bottom:1px solid var(--line);color:var(--ink-soft);}
.ct-item:last-child{border-bottom:0;}
.ct-item svg{flex:none;margin-top:2px;color:var(--brand);}
.ct-item span{display:flex;flex-direction:column;font-size:14px;}
.ct-item b{color:var(--ink);font-size:12px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:2px;}
a.ct-item:hover b{color:var(--brand);}
.ct-mapa{border-top:1px solid var(--line);line-height:0;background:var(--panel-2);}
.ct-mapa iframe{display:block;filter:saturate(.9);}

/* confirmação */
.ok-box{max-width:620px;margin:0 auto;text-align:center;padding:clamp(30px,6vw,60px) 0;}
.ok-icone{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good);margin-bottom:18px;}
.ok-box h1{font-size:clamp(26px,4vw,38px);font-weight:800;letter-spacing:-.02em;margin:0 0 10px;}
.ok-box .lede{font-size:16px;color:var(--ink-soft);line-height:1.6;margin:0 auto 26px;max-width:52ch;}
.ok-atalhos{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}

/* CNPJ */
.pf-op{font-weight:400;color:var(--ink-faint);font-size:11.5px;}
.pf-cnpj-status{display:block;font-size:11.5px;margin-top:3px;min-height:14px;color:var(--ink-faint);}
.pf-cnpj-status.ok{color:var(--good);}
.pf-cnpj-status.erro{color:#c0392b;}
