/* ============================================================
   CONTATO
   ============================================================ */
.ct-topo { background:var(--grad-escuro); color:#fff; position:relative; overflow:hidden; padding:clamp(24px,4vw,44px) 0 clamp(36px,5vw,60px); }
.ct-topo .dp-container { position:relative; z-index:1; } /* texto acima do círculo decorativo (fix "sombra" no mobile) */
.ct-topo::after { content:""; position:absolute; right:-8%; top:-40%; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle,rgba(37,211,102,.2),transparent 65%); pointer-events:none; }
.ct-topo .breadcrumb { color:rgba(255,255,255,.6); margin-bottom:var(--sp-4); }
.ct-topo .breadcrumb strong { color:#fff; }
.ct-topo .eyebrow { color:var(--amarelo); }
.ct-topo .eyebrow::before { background:#fff; }
.ct-topo h1 { color:#fff; }
.ct-topo-sub { color:rgba(255,255,255,.72); font-size:var(--fs-lead); line-height:1.5; margin-top:var(--sp-3); max-width:50ch; }

.ct-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-7); align-items:start; }

/* Cards de info */
.ct-info { display:flex; flex-direction:column; gap:var(--sp-4); }
.ct-card { display:flex; gap:var(--sp-4); align-items:center; padding:var(--sp-5); background:#fff; border:1.5px solid var(--borda); border-radius:var(--r-lg); box-shadow:var(--sombra-sm); transition:transform var(--t), box-shadow var(--t); }
.ct-card-wa:hover { transform:translateY(-2px); box-shadow:var(--sombra-md); }
.ct-card-icone { flex-shrink:0; width:52px; height:52px; border-radius:var(--r); display:flex; align-items:center; justify-content:center; background:var(--azul-100); color:var(--azul-800); }
.ct-icone-wa { background:rgba(37,211,102,.14); color:var(--wa-escuro); }
.ct-card-rotulo { display:block; font-size:var(--fs-2xs); font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--texto-suave); }
.ct-card-valor { display:block; font-size:var(--fs-md); margin:var(--sp-1) 0; }
.ct-card-extra { font-size:var(--fs-xs); color:var(--texto-suave); }

.ct-social { display:flex; align-items:center; gap:var(--sp-3); padding:var(--sp-2) var(--sp-1); font-size:var(--fs-sm); color:var(--texto-suave); }
.ct-social a { width:42px; height:42px; border-radius:var(--r-full); display:flex; align-items:center; justify-content:center; background:var(--azul-100); color:var(--azul-800); transition:all var(--t); }
.ct-social a:hover { background:var(--azul-800); color:#fff; }
.ct-social a.ct-social-handle { width:auto; height:auto; border-radius:var(--r); background:none; color:var(--azul-700); font-weight:700; padding:0; }
.ct-social a.ct-social-handle:hover { background:none; color:var(--azul-900); text-decoration:underline; }

/* Formulário */
.ct-form-wrap { background:#fff; border:1.5px solid var(--borda); border-radius:var(--r-lg); padding:clamp(22px,3vw,32px); box-shadow:var(--sombra); }
.ct-form-titulo { font-size:var(--fs-h3); }
.ct-form-sub { color:var(--texto-suave); margin:var(--sp-2) 0 var(--sp-6); }
.ct-form { display:flex; flex-direction:column; gap:var(--sp-4); }
.ct-label { display:flex; flex-direction:column; gap:var(--sp-2); font-size:var(--fs-xs); font-weight:700; color:var(--tinta-2); }
.ct-input { padding:var(--sp-3) var(--sp-4); border:1.5px solid var(--borda); border-radius:var(--r); font-size:1rem; transition:border-color var(--t), box-shadow var(--t); resize:vertical; }
.ct-input:focus { outline:none; border-color:var(--azul-500); box-shadow:0 0 0 4px var(--azul-100); }

/* Mapa */
.ct-mapa-secao { margin-top:var(--sp-5); }
.ct-mapa { width:100%; height:clamp(280px,40vh,440px); border:0; display:block; filter:saturate(1.05); }

@media (max-width:820px){ .ct-grid { grid-template-columns:1fr; } }
