/* ==========================================================================
   Página: Contate-nos — fale com um especialista
   Só o que é exclusivo desta página. Header, footer, nav, botões, largura de
   coluna, espaçamentos e o acordeão de FAQ vêm de assets/css/main.css.

   Nota: o CSS original desta página usava --azul para o tom médio e
   --azul-escuro para o navy — invertido em relação ao template. Aqui os
   valores já estão remapeados para os tokens do main.css.
   ========================================================================== */

/* espaço extra no rodapé do hero: os cards sobem sobre ele */
.hero-int{padding-bottom:140px;}
.hero-int .selo{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:6px 16px;border-radius:999px;font-size:.82rem;font-weight:600;margin-bottom:20px;}
.hero-int .selo .ponto{width:9px;height:9px;border-radius:50%;background:#6EE7A0;box-shadow:0 0 0 4px rgba(110,231,160,.25);flex:none;}

/* ===== Duas colunas: formulário + contatos ===== */
.contato-secao{padding-bottom:64px;background:linear-gradient(to bottom,transparent 0,var(--blue-soft) 300px);}
.contato-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;margin-top:-88px;position:relative;z-index:2;align-items:start;}
.card{background:#fff;border-radius:14px;box-shadow:var(--shadow);border:1px solid var(--cinza-borda);}

/* --- Formulário --- */
.card-form{padding:36px;}
.card-form h2{font-size:1.45rem;color:var(--azul);letter-spacing:-.3px;margin-bottom:6px;}
.card-form > p.sub{color:var(--cinza);font-size:.95rem;margin-bottom:26px;}
.campo{margin-bottom:18px;}
.campo label{display:block;font-weight:600;font-size:.88rem;color:var(--azul);margin-bottom:6px;}
.campo label .req{color:#C0392B;}
.campo label .opt{color:var(--cinza);font-weight:500;font-size:.8rem;}
.campo input[type=text],
.campo input[type=email],
.campo input[type=tel],
.campo select{width:100%;padding:13px 14px;border:1.5px solid var(--cinza-borda);border-radius:10px;font-size:.95rem;font-family:inherit;color:var(--texto);background:#FBFDFF;transition:border-color .2s,box-shadow .2s;appearance:none;}
.campo select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%232A75BB' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer;}
.campo input:focus,.campo select:focus{outline:none;border-color:var(--azul-claro);box-shadow:0 0 0 4px rgba(42,117,187,.14);background:#fff;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

fieldset.perfil{border:none;margin-bottom:18px;}
fieldset.perfil legend{font-weight:600;font-size:.88rem;color:var(--azul);margin-bottom:10px;}
.perfil-opcoes{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.perfil-opcao{position:relative;}
.perfil-opcao input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.perfil-opcao span{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1.5px solid var(--cinza-borda);border-radius:10px;font-size:.88rem;font-weight:600;color:var(--texto);background:#FBFDFF;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;line-height:1.35;height:100%;}
.perfil-opcao span::before{content:"";width:18px;height:18px;flex:none;border-radius:50%;border:2px solid var(--cinza-borda);background:#fff;transition:border-color .15s,box-shadow .15s;}
.perfil-opcao input:checked + span{border-color:var(--azul-claro);background:var(--blue-soft);box-shadow:0 0 0 3px rgba(42,117,187,.12);color:var(--azul);}
.perfil-opcao input:checked + span::before{border-color:var(--azul-claro);box-shadow:inset 0 0 0 4.5px var(--azul-claro);}
.perfil-opcao input:focus-visible + span{outline:3px solid rgba(42,117,187,.35);outline-offset:2px;}
.erro-perfil{display:none;color:#C0392B;font-size:.85rem;margin-top:8px;font-weight:600;}
.erro-perfil.visivel{display:block;}

.btn-enviar{width:100%;font-size:1.02rem;padding:15px 24px;margin-top:6px;justify-content:center;}
.form-nota{text-align:center;font-size:.8rem;color:var(--cinza);margin-top:12px;}

/* mensagens de resultado */
.msg-resultado{display:none;border-radius:14px;padding:28px;margin-top:4px;animation:aparecer .35s ease;}
.msg-resultado.visivel{display:block;}
@keyframes aparecer{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.msg-sucesso{background:#E8F6EE;border:1.5px solid #BCE4CC;}
.msg-sucesso h3{color:#1F8A4C;font-size:1.15rem;margin-bottom:8px;display:flex;align-items:center;gap:10px;}
.msg-orienta{background:#FFF7E8;border:1.5px solid #F0DCB0;}
.msg-orienta h3{color:#8A6410;font-size:1.15rem;margin-bottom:8px;display:flex;align-items:center;gap:10px;}
.msg-resultado p{font-size:.93rem;color:var(--texto);margin-bottom:10px;}
.msg-resultado p:last-of-type{margin-bottom:0;}
.msg-resultado a{color:var(--azul-claro);font-weight:700;text-decoration:underline;}
.msg-resultado .icone{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:none;}
.msg-sucesso .icone{background:#1F8A4C;}
.msg-orienta .icone{background:#D9A521;}
.link-voltar{display:inline-block;margin-top:6px;font-weight:700;font-size:.88rem;color:var(--azul-claro);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline;font-family:inherit;}

/* --- Card de contatos --- */
.card-contatos{padding:32px;display:flex;flex-direction:column;gap:22px;}
.card-contatos h2{font-size:1.25rem;color:var(--azul);letter-spacing:-.2px;}
.contato-item{display:flex;gap:14px;align-items:flex-start;}
.contato-item .ico{width:42px;height:42px;border-radius:10px;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;color:var(--azul-claro);flex:none;}
.contato-item h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.5px;color:var(--cinza);font-weight:700;margin-bottom:3px;}
.contato-item p{font-size:.95rem;color:var(--texto);line-height:1.5;}
.contato-item p strong{color:var(--azul);font-size:1.08rem;}
.contato-item .btn{margin-top:10px;padding:10px 18px;font-size:.88rem;}

.suporte-destaque{background:linear-gradient(135deg,var(--azul),#1B5290);border-radius:12px;padding:22px;color:#fff;}
.suporte-destaque .tempo{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;}
.suporte-destaque .tempo b{font-size:2.1rem;font-weight:800;letter-spacing:-1px;line-height:1;color:var(--amarelo);}
.suporte-destaque .tempo span{font-size:.85rem;font-weight:600;color:#CFE2F5;}
.suporte-destaque p{font-size:.88rem;color:#DCE9F7;line-height:1.55;}
.suporte-destaque p strong{color:#fff;}

.horario{font-size:.85rem;color:var(--cinza);border-top:1px dashed var(--cinza-borda);padding-top:16px;}

/* ===== Faixa de números ===== */
.faixa-numeros{background:var(--azul);color:#fff;}
main > section.faixa-numeros{padding:22px 0;}
.faixa-inner{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 0;text-align:center;}
.faixa-item{padding:0 32px;font-size:.95rem;color:#C9DBEE;}
.faixa-item + .faixa-item{border-left:1px solid rgba(255,255,255,.2);}
.faixa-item b{display:block;font-size:1.35rem;color:var(--amarelo);font-weight:800;letter-spacing:-.3px;line-height:1.3;}

/* ===== Responsivo ===== */
@media (max-width:960px){
  .contato-grid{grid-template-columns:1fr;margin-top:-72px;}
  .card-contatos{order:2;}
}
@media (max-width:620px){
  .hero-int{padding-bottom:130px;}
  .card-form{padding:26px 20px;}
  .card-contatos{padding:26px 20px;}
  .grid-2{grid-template-columns:1fr;}
  .perfil-opcoes{grid-template-columns:1fr;}
  .faixa-item{padding:0 18px;font-size:.85rem;}
  .faixa-item b{font-size:1.15rem;}
}
