/* Sessão CONTATO */
.sec-contato{
  padding: clamp(72px, 10vh, 100px) 0;
  background:
    radial-gradient(60% 60% at 90% 15%, rgba(16,185,129,.08), transparent 60%),
    linear-gradient(180deg, #fff, #f6fbf9);
  border-top:1px solid var(--gray-200);
}

.contato-grid{
  display:grid; gap:32px;
  grid-template-columns: 1.2fr .8fr;
  align-items:start;
}
@media (max-width: 1000px){
  .contato-grid{ grid-template-columns: 1fr; }
}

.contato-head .kicker{
  display:inline-block;
  font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  font-size:.78rem; color:var(--green-700);
  background:#eefaf4; border:1px dashed rgba(16,185,129,.35);
  border-radius:999px; padding:.3rem .65rem; margin-bottom:10px;
}
.contato-head h2{ margin: 6px 0 8px 0; font-size: clamp(24px, 3.6vw, 36px); }
.contato-head .accent{
  background: linear-gradient(90deg, var(--green-500), var(--green-700));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.contato-head .lead{ color:var(--gray-700); }

.contato-form{
  margin-top: 10px;
  background:#fff; border:1px solid var(--gray-200);
  border-radius:16px; padding:18px; box-shadow:0 8px 20px rgba(0,0,0,.05);
  display:grid; gap:12px;
}
.grid-2{
  display:grid; gap:12px; grid-template-columns: 1fr 1fr;
}
@media (max-width: 680px){
  .grid-2{ grid-template-columns: 1fr; }
}

.field label{ display:block; font-weight:600; margin-bottom:6px; }
.field input, .field select, .field textarea{
  width:100%; padding:.7rem .85rem; border-radius:10px;
  border:1px solid var(--gray-200); font-size:1rem; background:#fff;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--green-500);
  box-shadow:0 0 0 2px rgba(16,185,129,.25);
}
.error{
  display:block; min-height:1em; margin-top:4px;
  color:#b00020; font-size:.86rem;
}

.pref-contato{
  margin:4px 0; border:1px dashed var(--gray-200);
  border-radius:10px; padding:.6rem .8rem;
  display:flex; gap:14px; flex-wrap:wrap;
}
.pref-contato legend{ font-weight:700; padding:0 .35rem; }
.pref-contato label{ display:flex; align-items:center; gap:.35rem; }

.lgpd{
  display:flex; gap:.5rem; align-items:flex-start;
  color:var(--gray-700);
}
.lgpd input{ transform: translateY(2px); }

.form-actions{
  display:flex; gap:12px; align-items:center; flex-wrap:wrap;
}
#statusEnvio{ margin:0; font-size:.95rem; color:var(--gray-700); }

.contato-info{
  display:grid; gap:12px;
}
.info-card, .map-card{
  background:#fff; border:1px solid var(--gray-200);
  border-radius:16px; box-shadow:0 8px 20px rgba(0,0,0,.05);
  padding:16px;
}
.info-card h3{ margin-top:0; }
.info-card ul{ list-style:none; padding:0; margin:0 0 10px 0; display:grid; gap:6px; }

.map-card iframe{
  width:100%; height:280px; border:0; border-radius:12px;
}
@media (prefers-color-scheme: dark){
  .sec-contato{
    background: linear-gradient(180deg, #0b0d10, #0e1318);
    border-top:1px solid rgba(255,255,255,.06);
  }

  .contato-form,
  .info-card,
  .map-card{
    background:#12171c; color: var(--white);
    border:1px solid rgba(255,255,255,.06);
    box-shadow: var(--shadow);
  }

  .field input, .field select, .field textarea{
    background:#0f1419; color: var(--white);
    border:1px solid rgba(255,255,255,.12);
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    border-color: var(--green-500);
    box-shadow: 0 0 0 2px rgba(16,185,129,.25);
  }

  .info-card ul li,
  .contato-head .lead,
  #statusEnvio{ color: var(--gray-700); }
}
