/* 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; }
