/* =========================
   Start-UP • contato.css (rev2)
   ========================= */
:root{
  --red:#fb0000; --bg:#0a0a0a; --bg2:#0c0c0c;
  --border:rgba(255,255,255,.12);
}

/* HERO (imagem MUITO suave + overlay leve) */
.hero.hero-contact{
  position:relative; min-height:60vh;
  display:flex; align-items:center; text-align:center;
  width:100vw; left:50%; transform:translateX(-50%);
  background-image:
    radial-gradient(1200px 600px at 15% 20%, rgba(251,0,0,.10), transparent 60%),
    radial-gradient(1000px 600px at 85% 80%, rgba(251,0,0,.06), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.60)),
    url('../img/img_nobreak.jpg');
  background-size:auto,auto,auto,cover;
  background-position:center,center,center,center;
  background-repeat:no-repeat;
  background-attachment:scroll,scroll,scroll,fixed;
}
@media (max-width:1024px){
  .hero.hero-contact{ background-attachment:scroll,scroll,scroll,scroll; }
}
.hero.hero-contact h1{
  color:#fff !important;
  font-size:clamp(34px,6vw,60px); line-height:1.07;
  margin:.25rem 0 .75rem; text-shadow:0 6px 24px rgba(0,0,0,.55);
}
.hero.hero-contact .typed-wrap{ color:#eaeaea }

/* Seção principal */
.contact-wrap.section-gap{ background:linear-gradient(180deg,var(--bg),var(--bg2)); padding:72px 0; }
.contact-wrap .grid{ display:grid; grid-template-columns:1fr 1.2fr; gap:24px; }
@media (max-width:991px){ .contact-wrap .grid{ grid-template-columns:1fr; } }

/* Cards compactos (mesmo look dos outros) */
.contact-card{
  display:flex; gap:14px; align-items:center;
  background:rgba(255,255,255,.03);
  border:1px solid var(--border);
  border-radius:16px; padding:16px; margin-bottom:14px;
  transition:.25s ease;
}
.contact-card:hover{ transform:translateY(-3px); box-shadow:0 10px 28px rgba(0,0,0,.30); border-color:rgba(251,0,0,.30); }
.contact-card .icon{
  width:52px; height:52px; min-width:52px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:14px; background:#0f0f0f; border:1px solid rgba(255,255,255,.14);
  color:var(--red); font-size:22px; box-shadow: inset 0 0 0 1px rgba(251,0,0,.18);
}
.contact-card h4{ color:#fff; margin:0 0 2px; font-weight:700; }
.contact-card h4 small{ color:#cfcfcf; font-weight:600; }
.contact-card p{ color:#d4d4d4; margin:0 0 4px; }
.mini-link{
  display:inline-flex; align-items:center; gap:6px; font-weight:600;
  color:#fff; padding:6px 10px; border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.02); transition:.2s ease;
}
.mini-link:hover{ border-color:rgba(251,0,0,.5); box-shadow:0 8px 22px rgba(251,0,0,.18); }

.contact-card.info{ flex-direction:column; align-items:flex-start; }
.contact-card.info .bullet{ color:#e6e6e6; display:flex; align-items:center; gap:8px; }
.contact-card.info .dot{ width:8px; height:8px; border-radius:50%; background:var(--red); filter:drop-shadow(0 0 6px rgba(251,0,0,.55)); }

/* Form em grid (textarea grande à direita) */
.contact-form.modern .row2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto 1fr;
  grid-template-areas:
    "name message"
    "email message"
    "subject message";
  gap:14px;
}
.contact-form.modern .f-name{ grid-area:name; }
.contact-form.modern .f-email{ grid-area:email; }
.contact-form.modern .f-subject{ grid-area:subject; }
.contact-form.modern .f-message{ grid-area:message; min-height:100%; }

@media (max-width:991px){
  .contact-form.modern .row2{
    grid-template-columns:1fr;
    grid-template-areas:
      "name" "email" "subject" "message";
  }
}

/* Inputs/textarea dark coerentes */
.common-input,.common-textarea,.form-control{
  background:#0e0e0e !important; color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:12px !important; box-shadow:none !important;
  transition:border-color .2s ease, box-shadow .2s ease, transform .15s ease;
}
.common-input,.form-control{ height:48px; padding:0 14px; }
.common-textarea{ min-height:220px; padding:12px 14px; resize:vertical; }
.common-input::placeholder,.common-textarea::placeholder{ color:#a7a7a7 !important; }
.common-input:focus,.common-textarea:focus,.form-control:focus{
  border-color:rgba(251,0,0,.55) !important;
  box-shadow:0 0 0 3px rgba(251,0,0,.18) !important;
  transform:translateY(-1px);
}

/* Botões e rodapé do formulário */
.form-footer{ margin-top:12px; display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.btn{ padding:12px 22px; border-radius:999px; font-weight:700; }
.btn-red{ background:var(--red); color:#fff; border:0; }
.btn-red:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(251,0,0,.28); }
.btn-ghost{ background:transparent; border:1px solid #fff; color:#fff; }
.btn-ghost:hover{ background:#fff; color:#000; }

.alert-msg{ display:none; }
.alert-msg.show{
  display:block; color:#fff; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px; padding:10px 12px; margin-right:auto;
}

/* Mapa */
.map-cta{ background:#0a0a0a; padding:16px 0 80px; }
.map-card{ position:relative; overflow:hidden; border:1px solid var(--border); border-radius:16px;
  background:linear-gradient(180deg,#0a0a0a,#0c0c0c); box-shadow:0 20px 60px rgba(0,0,0,.35); }
.map-card iframe{ width:100%; height:420px; border:0; display:block; filter:grayscale(30%) contrast(95%) brightness(90%); }
.map-card .map-info{
  position:absolute; left:16px; bottom:16px; background:rgba(0,0,0,.6); color:#fff;
  padding:10px 14px; border-radius:12px; border:1px solid rgba(255,255,255,.14); backdrop-filter: blur(2px);
}
.map-card .map-info h4{ margin:0 0 4px; font-weight:700; }
.map-card .map-info p{ margin:0; color:#e5e5e5; font-size:14px; }

/* Footer (pesquisa lado a lado) */
.footer-area .single-footer-widget .mail_part{ display:flex; align-items:center; gap:10px; max-width:100%; }
.footer-area .single-footer-widget .mail_part input{
  flex:1 1 auto; min-width:0; height:44px; line-height:44px; padding:0 14px;
  border:1px solid rgba(255,255,255,.25); border-radius:10px; background:#0e0e0e; color:#fff;
}
.footer-area .single-footer-widget .mail_part .btn.bb-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:44px; margin:0 !important; border:0; border-radius:10px;
  background:var(--red); color:#fff; position:static !important;
}
