/* ==========================================================================
   11 CONTATO — rotas (WhatsApp/e-mail), formulário e CTA fixo no mobile
   ========================================================================== */
#contato .sec-hd{margin-bottom:0;row-gap:38px}

/* ---------- formulário ---------- */
.form{background:#fff;border:1px solid var(--border);border-radius:12px;padding:clamp(24px,3vw,32px);box-shadow:var(--sh-2);position:relative}
.form fieldset{border:none;padding:0;margin:0 0 15px}
.fg{margin-bottom:15px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hp{display:none} /* honeypot anti-spam do Netlify — nunca exibir */

label,legend{display:block;font-size:var(--f-13);font-weight:500;color:var(--text-2);margin-bottom:7px;padding:0}
input,textarea{width:100%;padding:12px 14px;border:1px solid var(--border-2);border-radius:9px;font-family:"IBM Plex Sans";font-size:var(--f-15);color:var(--text-1);background:#fff;transition:border-color var(--t-base),box-shadow var(--t-base)}
input:hover,textarea:hover{border-color:var(--text-3)}
input:focus,textarea:focus{outline:none;border-color:var(--interactive);box-shadow:0 0 0 3px rgba(0,77,184,.16)}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 3px rgba(194,27,20,.1)}
textarea{resize:vertical;min-height:80px}

/* mensagem de erro por campo (.on = visível) */
.err{display:none;font-size:var(--f-12);color:var(--danger);margin-top:6px}
.err.on{display:block}

/* chips de seleção múltipla (checkbox estilizado) */
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip input{position:absolute;opacity:0;width:0;height:0}
.chip span{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid var(--border-2);border-radius:999px;font-size:var(--f-13);color:var(--text-2);cursor:pointer;user-select:none;transition:border-color var(--t-base),background var(--t-base),color var(--t-base)}
.chip span::before{content:"";width:13px;height:13px;border-radius:4px;border:1.4px solid var(--border-2);background:#fff;flex:none;background-repeat:no-repeat;background-position:center;background-size:9px;transition:background-color var(--t-base),border-color var(--t-base)}
.chip span:hover{border-color:var(--text-3)}
.chip input:checked+span{border-color:var(--interactive);background:var(--b-50);color:var(--interactive-hover);font-weight:500}
.chip input:checked+span::before{background-color:var(--interactive);border-color:var(--interactive);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6.3 4.8 8.6 9.5 3.9'/%3E%3C/svg%3E")}
.chip input:focus-visible+span{outline:2px solid var(--interactive);outline-offset:2px}

.form .btn{width:100%;margin-top:4px}
.form small{display:block;margin-top:12px;font-size:var(--f-12);color:var(--text-3);text-align:center}

/* tela de sucesso (sobrepõe o form; .on = visível) */
.done{position:absolute;inset:0;background:#fff;border-radius:12px;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px;gap:13px}
.done.on{display:flex;animation:pvIn 460ms var(--e-out) forwards}
.done .ic{width:46px;height:46px;border-radius:50%;background:var(--b-100);display:grid;place-items:center}
.done .ic svg{width:20px;height:20px;stroke:var(--interactive);stroke-width:2.4;fill:none}
.done b{font-family:Archivo;font-stretch:106%;font-size:var(--f-20);font-weight:700;letter-spacing:-.025em}
.done p{color:var(--text-2);font-size:var(--f-14);max-width:32ch}

/* ---------- rotas de contato ---------- */
.routes{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.route-b[hidden]{display:none}
.route-b{display:flex;align-items:center;gap:14px;padding:15px 18px;border:1px solid var(--border);border-radius:10px;background:#fff;transition:border-color var(--t-base),transform var(--t-fast) var(--e-out)}
.route-b:hover{border-color:var(--interactive);transform:translateY(-1px)}
.route-b .ic{width:34px;height:34px;border-radius:8px;background:var(--b-50);display:grid;place-items:center;flex:none}
.route-b .ic svg{width:16px;height:16px;stroke:var(--interactive);stroke-width:1.6;fill:none}
.route-b .tx b{display:block;font-weight:600;font-size:var(--f-15)}
.route-b .tx span{font-size:var(--f-13);color:var(--text-3)}
.route-b .arw{margin-left:auto;stroke:var(--text-3);stroke-width:1.6}

/* ---------- CTA fixo no rodapé (mobile) — .on controlado por js/modules/header.js ---------- */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:rgba(244,245,248,.95);backdrop-filter:blur(12px);border-top:1px solid var(--border);
  transform:translateY(110%);transition:transform var(--t-slow) var(--e-out)}
.sticky-cta.on{transform:none}
.sticky-cta .btn{width:100%;padding:13px}

/* ---------- responsivo ---------- */
@media (max-width:820px){
  .sticky-cta{display:block}
}
@media (max-width:600px){
  .fr{grid-template-columns:1fr}
}
