/* Luz que recorre el marco del formulario de la portada. */
@property --home-form-light-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
#contacto .vc_custom_1737409264829,
#contacto .vc_custom_1737389861106 {
  position: relative;
  border-style: solid !important;
  border-color: rgba(255,255,255,.28) !important;
  isolation: isolate;
}
#contacto .vc_custom_1737409264829::before,
#contacto .vc_custom_1737389861106::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  padding: 3px;
  pointer-events: none;
  background: conic-gradient(from var(--home-form-light-angle), transparent 0deg, transparent 265deg, rgba(235,185,255,.35) 292deg, #f4d4ff 315deg, #fff 325deg, #d08cf2 339deg, transparent 355deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: home-form-light 5s linear infinite;
}
@keyframes home-form-light { to { --home-form-light-angle: 360deg; } }
@media (prefers-reduced-motion: reduce) {
  #contacto .vc_custom_1737409264829::before,
  #contacto .vc_custom_1737389861106::before { animation: none; }
}
/* Más contraste y un destello ancho, visible sobre el video del hero. */
#contacto .vc_custom_1737409264829,
#contacto .vc_custom_1737389861106 {
  background-color: rgba(61, 7, 78, .88) !important;
  border-color: rgba(255,255,255,.48) !important;
  box-shadow: 0 20px 55px rgba(26,0,38,.35);
}
#contacto .vc_custom_1737409264829::before,
#contacto .vc_custom_1737389861106::before {
  z-index: 5;
  inset: -3px;
  padding: 5px;
  border-radius: 22px;
  background: conic-gradient(from var(--home-form-light-angle), rgba(255,255,255,.08) 0deg, rgba(255,255,255,.08) 235deg, #cb69ed 270deg, #fff 305deg, #fff 320deg, #e7aaff 345deg, rgba(255,255,255,.08) 360deg);
  animation-duration: 3.5s;
}
#contacto .vc_custom_1737409264829 .mdc-text-field,
#contacto .vc_custom_1737389861106 .mdc-text-field,
#contacto .vc_custom_1737409264829 .mdc-select,
#contacto .vc_custom_1737389861106 .mdc-select { border-radius: 8px 8px 4px 4px; overflow: hidden; }
#contacto .vc_custom_1737409264829 input[type=submit],
#contacto .vc_custom_1737389861106 input[type=submit] { border-radius: 8px !important; font-weight: 700 !important; }
/* El tema aplica display:table a los pseudoelementos; el marco debe ocupar toda la tarjeta. */
#contacto .vc_custom_1737409264829::before,
#contacto .vc_custom_1737389861106::before { display: block !important; box-sizing: border-box; width: auto; height: auto; }
/* El texto del botón debe mantenerse legible sobre su fondo de color. */
.home #contacto .wpcf7 input.wpcf7-submit[type=submit],
.home #contacto .wpcf7 input.wpcf7-submit[type=submit]:hover,
.home #contacto .wpcf7 input.wpcf7-submit[type=submit]:focus-visible { color: #fff !important; }
/* Superficie blanca y texto legible, en sintonía con los formularios internos. */
#contacto .vc_custom_1737409264829,
#contacto .vc_custom_1737389861106{background:#fff!important;border-color:#e8d8ed!important;color:#493e4d!important;box-shadow:0 18px 50px rgba(25,4,35,.25)}
#contacto .vc_custom_1737409264829 .wpb_text_column h2,
#contacto .vc_custom_1737409264829 .wpb_text_column h2 span,
#contacto .vc_custom_1737389861106 .wpb_text_column h2,
#contacto .vc_custom_1737389861106 .wpb_text_column h2 span{color:#650080!important}
#contacto .vc_custom_1737409264829 .wpb_text_column p,
#contacto .vc_custom_1737409264829 .wpb_text_column p span,
#contacto .vc_custom_1737389861106 .wpb_text_column p,
#contacto .vc_custom_1737389861106 .wpb_text_column p span{color:#493e4d!important}
#contacto .vc_custom_1737409264829 .wpcf7 input[type=submit],
#contacto .vc_custom_1737389861106 .wpcf7 input[type=submit]{background:#650080!important;border:0!important;color:#fff!important}
#contacto .vc_custom_1737409264829 .wpcf7 input[type=submit]:hover,
#contacto .vc_custom_1737389861106 .wpcf7 input[type=submit]:hover{background:#893499!important;color:#fff!important}
/* Equilibrar el encabezado con el resto del formulario. */
#contacto .vc_custom_1737409264829,
#contacto .vc_custom_1737389861106{padding:26px 24px 28px!important}
#contacto .vc_custom_1737409264829 .wpb_text_column,
#contacto .vc_custom_1737389861106 .wpb_text_column{margin-bottom:0!important}
#contacto .vc_custom_1737409264829 h2,
#contacto .vc_custom_1737389861106 h2{margin:0!important}
@media(max-width:767px){#contacto .vc_custom_1737409264829,#contacto .vc_custom_1737389861106{padding:24px 20px 26px!important}}
/* Mantener las etiquetas flotantes dentro del campo y el texto contrastado. */
#contacto .wpcf7 .mdc-text-field .mdc-floating-label--float-above,
#contacto .wpcf7 .mdc-select .mdc-floating-label--float-above{top:18px!important;transform:translateY(-11px) scale(.75)!important;transform-origin:left top;color:#493e4d!important}
#contacto .wpcf7 .mdc-text-field__input,
#contacto .wpcf7 .mdc-select__selected-text{color:#251d2a!important}
