/* Banda de contacto común y formulario CF7 «Presupuesto» dentro de ella.
   Fuente: sección band-contact de maqueta/fuente/web-plantilla.html. Genera los bloques wp/contacto.py. */

/* ---------- banda ---------- */
.pd-contact.et_pb_section{background:var(--pd-grad-brand)!important;color:#fff;padding:clamp(64px,8vw,104px) 0!important}
.pd-contact .et_pb_row.pd-contact-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,64px);align-items:start;width:100%!important;max-width:1180px!important;margin:0 auto!important;padding:0 clamp(16px,4vw,40px)!important}
.pd-contact .pd-contact-row>.et_pb_column{width:auto!important;margin:0!important;padding:0!important}
/* el clearfix de Divi (::before/::after de fila y columnas) seria una celda más de la rejilla y abre una fila vacía */
.pd-contact .et_pb_row.pd-contact-row::before,.pd-contact .et_pb_row.pd-contact-row::after,.pd-contact .pd-contact-row>.et_pb_column::after{display:none!important;content:none}
.pd-contact .et_pb_module{margin:0!important}

/* ---------- columna de texto ---------- */
.pd-contact .pd-contact-text,.pd-contact .pd-contact-text p{color:#fff;padding:0;margin:0}
.pd-contact .pd-contact-text .pd-contact-label{font:600 13px/1.3 var(--pd-body);letter-spacing:.1em;text-transform:uppercase;color:#EADDEF}
.pd-contact .pd-contact-text h2{font:700 clamp(28px,3.1vw,40px)/1.15 var(--pd-body);letter-spacing:-.025em;color:#fff;margin:10px 0 0;padding:0;text-wrap:balance}
.pd-contact .pd-contact-text .pd-contact-direct{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:22px;font-size:16px;line-height:1.6}
.pd-contact .pd-contact-direct span{color:#EADDEF}
.pd-contact .pd-contact-direct a{color:#fff;font-weight:600;text-decoration:none}
.pd-contact .pd-contact-direct a:hover{text-decoration:underline;text-underline-offset:3px}
.pd-contact .pd-contact-text .pd-contact-note{margin-top:14px;color:#EADDEF}
.pd-contact .pd-contact-col a:focus-visible{outline-color:#fff}
.pd-contact .pd-contact-ilus.et_pb_image{max-width:440px;margin-top:28px!important}
.pd-contact .pd-contact-ilus img{display:block;width:100%;height:auto;border-radius:28px}

/* ---------- formulario: tarjeta blanca ---------- */
.pd-contact .et_pb_code_inner>.wpcf7{margin:0}
.pd-contact .wpcf7 form.wpcf7-form{display:grid;gap:14px;margin:0;padding:clamp(22px,3vw,32px);border-radius:24px;background:#fff;border:1px solid var(--pd-line);box-shadow:var(--pd-shadow);color:var(--pd-ink);font:16px/1.5 var(--pd-body)}
.pd-contact .pd-contact-form{display:grid;gap:14px}
.pd-contact .pd-contact-form p{margin:0;padding:0}
.pd-contact .pd-contact-req{font-size:14px;color:var(--pd-ink-soft)}
.pd-contact .pd-contact-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.pd-contact .pd-contact-f{display:grid;gap:6px;align-content:start}
.pd-contact .pd-contact-f label{font:600 14px/1.4 var(--pd-body);color:var(--pd-ink)}
.pd-contact .pd-contact-f label i{font-style:normal;font-weight:400;color:var(--pd-ink-soft)}
.pd-contact .pd-contact-f .wpcf7-form-control-wrap{display:block}
.pd-contact .wpcf7 .pd-contact-f input,.pd-contact .wpcf7 .pd-contact-f textarea{display:block;width:100%;max-width:100%;box-sizing:border-box;margin:0;border:1px solid #76647F;background:var(--pd-paper);color:var(--pd-ink);border-radius:12px;padding:12px 14px;font:16px/1.4 var(--pd-body);box-shadow:none}
.pd-contact .wpcf7 .pd-contact-f textarea{min-height:100px;height:auto;resize:vertical}
.pd-contact .wpcf7 .pd-contact-f input::placeholder,.pd-contact .wpcf7 .pd-contact-f textarea::placeholder{color:#76647F;opacity:1}
.pd-contact .wpcf7 .pd-contact-f input:focus-visible,.pd-contact .wpcf7 .pd-contact-f textarea:focus-visible{outline:2px solid var(--pd-magenta);outline-offset:2px;border-color:var(--pd-plum)}
.pd-contact .pd-contact-legal{font-size:13px;line-height:1.5;color:var(--pd-ink-soft)}
.pd-contact .pd-contact-legal a{color:var(--pd-plum);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* botón con el degradado de marca, igual que .pd-btn */
.pd-contact .pd-contact-submit{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.pd-contact .wpcf7 input.wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;width:auto;margin:0;border:0;border-radius:999px;padding:15px 28px;background:var(--pd-grad-btn);color:#fff;font:600 16px/1 var(--pd-body);letter-spacing:0;box-shadow:0 10px 24px -12px #CF007F;cursor:pointer;transition:transform .2s ease;-webkit-appearance:none;appearance:none}
.pd-contact .wpcf7 input.wpcf7-submit:hover{transform:translateY(-1px)}
.pd-contact .wpcf7 input.wpcf7-submit:disabled{opacity:.7;cursor:progress;transform:none}
.pd-contact .wpcf7 .wpcf7-spinner{margin:0 8px}
/* oculto, el spinner sigue ocupando sitio y en móvil salta de línea bajo el botón */
.pd-contact .wpcf7 form:not(.submitting) .wpcf7-spinner{display:none}

/* errores de validación: rojo oscuro #B0132B sobre blanco (7:1 sobre blanco, 6,3:1 sobre el fondo del aviso: AA) */
.pd-contact .wpcf7 .pd-contact-f .wpcf7-not-valid{border-color:#B0132B;border-width:2px;padding:11px 13px}
.pd-contact .wpcf7 .wpcf7-not-valid-tip{display:block;margin-top:6px;font:600 14px/1.4 var(--pd-body);color:#B0132B}
.pd-contact .wpcf7 form .wpcf7-response-output{margin:0;padding:12px 14px;border:2px solid var(--pd-line);border-radius:12px;background:var(--pd-paper-2);color:var(--pd-ink);font-size:14px;line-height:1.5}
.pd-contact .wpcf7 form.invalid .wpcf7-response-output,.pd-contact .wpcf7 form.unaccepted .wpcf7-response-output,.pd-contact .wpcf7 form.payment-required .wpcf7-response-output,.pd-contact .wpcf7 form.failed .wpcf7-response-output,.pd-contact .wpcf7 form.aborted .wpcf7-response-output,.pd-contact .wpcf7 form.spam .wpcf7-response-output{border-color:#B0132B;background:#FDF1F3}
.pd-contact .wpcf7 form.sent .wpcf7-response-output{border-color:#1E7B45;background:#EEF8F2}

@media (max-width:820px){
  .pd-contact .et_pb_row.pd-contact-row{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .pd-contact .pd-contact-two{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .pd-contact .wpcf7 input.wpcf7-submit{transition:none}
  .pd-contact .wpcf7 input.wpcf7-submit:hover{transform:none}
}
