/* =========================
   HERO
========================= */
.contact-hero{
  background:#000;
  color:#fff;
  text-align:center;
  padding:60px 20px 50px;
}

.contact-hero h1{
  font-size:2.2rem;
  margin-bottom:10px;
}

/* =========================
   CONTENEDOR
========================= */
.contact-container{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  padding:60px 20px;
  max-width:1100px;
  margin:auto;
}

/* =========================
   FORMULARIO
========================= */
.contact-form{
  background:#fff;
  padding:30px;
  border-radius:10px;
  box-shadow:0 4px 12px rgba(0,0,0,0.08);
}

.contact-form h2{
  margin-bottom:20px;
}

.contact-form form{
  display:flex;
  flex-direction:column;
  gap:15px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  padding:12px;
  border:1px solid #ccc;
  border-radius:5px;
  font-size:1rem;
  transition:0.2s;
}

.contact-form input:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:#ff00aa;
}

/* TEXTAREA */
.contact-form textarea{
  min-height:120px;
}

/* BOTÓN */
.contact-form button{
  background:#ff00aa;
  color:white;
  padding:12px;
  border:none;
  cursor:pointer;
  border-radius:6px;
  font-weight:bold;
  transition:0.3s;
}

.contact-form button:hover{
  background:#32ff00;
  color:#000;
}

/* =========================
   INFO
========================= */
.contact-info{
  padding:30px;
}

.contact-info h2{
  margin-bottom:20px;
}

.contact-info p{
  margin-bottom:10px;
  font-size:14px;
}

/* =========================
   WHATSAPP
========================= */
.whatsapp-btn{
  display:inline-block;
  margin-top:20px;
  padding:12px 20px;
  background:#25D366;
  color:white;
  text-decoration:none;
  border-radius:6px;
  font-weight:bold;
  transition:0.2s;
}

.whatsapp-btn:hover{
  background:#1ebe5d;
}

/* =========================
   MAPA
========================= */
.map{
  margin-top:30px;
  height:220px;
  background:#ddd;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  overflow:hidden;
}

/* =========================
   RESPONSIVE
========================= */
@media(max-width:768px){

  .contact-hero{
    padding-top:30px; /* compensa header */
  }

  .contact-hero h1{
    font-size:1.8rem;
  }

  .contact-container{
    grid-template-columns:1fr;
    gap:30px;
    padding:40px 20px;
  }

  .contact-form,
  .contact-info{
    padding:20px;
  }

}