/* ===== HERO coherente al Home ===== */
.contact-hero {
  background-color: #2c1045; /* mismo morado base del Home */
  padding-top: 5rem;
  padding-bottom: 5rem;
  position: relative;
}

.contact-hero-fade {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 80px;
    background: linear-gradient(to bottom, rgb(111 92 128 / 0%) 0%, #d3c3e259 100%);
}

/* ===== Sección ===== */
.contacto-section{ background:#fff; }

/* Tarjeta izquierda (info) */
.contact-card{
  border:1px solid rgba(0,0,0,.06);
}
.contact-card h2{ font-size:clamp(1.6rem, 2.5vw, 2rem); }

/* Tarjeta derecha (formulario) SIN dorado */
.contact-form-card{
  border:1px solid rgba(0,0,0,.06);
}

/* ===== Contact Form 7 al estilo Home ===== */
.wpcf7 form .wpcf7-form-control{
  width:100%;
  border-radius: .75rem;
  border:1px solid #e8e6ef;
  background:#fff;
  padding:.9rem 1rem;
  font-family:'Poppins', sans-serif;
  box-shadow:none;
}
.wpcf7 form .wpcf7-textarea{ min-height:180px; }

/* Botón: pill negro como usas en CTA del Home */
.wpcf7 form .wpcf7-submit{
  display:inline-block;
  border:0;
  padding:.85rem 1.4rem;
  border-radius: 999px;
  background:#000; color:#fff;
  font-weight:700; cursor:pointer;
}
.wpcf7 form .wpcf7-submit:hover{ opacity:.9; }

/* Mensajes CF7 */
.wpcf7 form .wpcf7-response-output{
  border-radius:.75rem;
  margin-top:1rem; padding:.75rem 1rem;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
}

/* Links */
.contact-card a, .contact-form-card a{ text-decoration: underline; }

/* iFrame: Bootstrap ratio ya controla el alto */
.ratio iframe{ border:0; }

/* Responsive */
@media (max-width: 991.98px){
  .contact-form-card, .contact-card{ padding:1.25rem!important; }
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #2c1045;
}
/* ===== CF7 · Mensajes de respuesta al estilo Home ===== */
.wpcf7 form .wpcf7-response-output{
  /* quita el borde verde por defecto de CF7 */
  border: 0 !important;
  border-radius: .75rem;
  padding: .9rem 1rem;
  margin-top: 1rem;
  background: #f6f4fa;                    /* base clara como tu UI */
  color: #2d1b3d;                          /* morado oscuro del Home */
  box-shadow: 0 8px 28px rgba(0,0,0,.06);
}

/* éxito */
.wpcf7 form .wpcf7-response-output[data-status="mail_sent"]{
  background: linear-gradient(90deg, rgba(201,46,255,.10), rgba(201,46,255,0));
  border: 1px solid rgba(201,46,255,.25) !important; /* acento magenta */
  color: #2d1b3d;
}

/* error de validación (faltan campos, formato inválido) */
.wpcf7 form .wpcf7-response-output[data-status="validation_failed"],
.wpcf7 form .wpcf7-response-output[data-status="acceptance_missing"]{
  background: #fff5f6;
  border: 1px solid rgba(225,29,72,.25) !important;   /* rojo suave */
  color: #7f1d1d;
}

/* error de envío / servidor / spam */
.wpcf7 form .wpcf7-response-output[data-status="mail_failed"],
.wpcf7 form .wpcf7-response-output[data-status="spam"]{
  background: #fff7ed;
  border: 1px solid rgba(234,88,12,.25) !important;   /* naranja suave */
  color: #7c2d12;
}

/* tips de validación por campo */
.wpcf7-not-valid-tip{
  font-size: .85rem;
  color: #b4231a;
  margin-top: .35rem;
}

/* campos inválidos con borde acorde al Home */
.wpcf7 form .wpcf7-not-valid{
  border-color: #e11d48 !important;
  box-shadow: 0 0 0 .15rem rgba(225,29,72,.08);
}

/* spinner discreto */
.wpcf7 .ajax-loader{
  margin-left: .5rem;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.08));
}