.elementor-2066 .elementor-element.elementor-element-670aed1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2066 .elementor-element.elementor-element-68a8626{width:var( --container-widget-width, 76% );max-width:76%;--container-widget-width:76%;--container-widget-flex-grow:0;}.elementor-2066 .elementor-element.elementor-element-68a8626.elementor-element{--align-self:center;}.elementor-2066 .elementor-element.elementor-element-817c0f7{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;}.elementor-2066 .elementor-element.elementor-element-817c0f7.elementor-element{--align-self:center;}@media(max-width:767px){.elementor-2066 .elementor-element.elementor-element-68a8626{--container-widget-width:100vw;--container-widget-flex-grow:0;width:var( --container-widget-width, 100vw );max-width:100vw;}.elementor-2066 .elementor-element.elementor-element-817c0f7{--container-widget-width:90vw;--container-widget-flex-grow:0;width:var( --container-widget-width, 90vw );max-width:90vw;}}/* Start custom CSS for shortcode, class: .elementor-element-817c0f7 *//* ===== CNS — WPForms limpio (sin romper el layout) ===== */

/* Tipografía base de la sección */
.elementor-2066 .elementor-element.elementor-element-817c0f7 {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: #111;
}

/* Labels + descripciones */
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field-label {
  display: block;
  margin: 0 0 6px;
  font-weight: 600;
  color: #111;
}
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field-description {
  margin-top: 4px;
  color: #6b7280;
  font-size: .9rem;
}

/* Campos: SOLO estilo visual (sin tocar la disposición) */
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field input[type="text"],
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field input[type="email"],
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field input[type="tel"],
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field input[type="number"],
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field input[type="url"],
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field input[type="date"],
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field input[type="time"],
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field textarea,
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field select {
  width: 100%;                 /* no rompe columnas de WPForms */
  padding: 12px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  color: #111;
  font-size: 1rem;
  line-height: 1.4;
  box-shadow: none;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
  box-sizing: border-box;
}
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field textarea { min-height: 120px; resize: vertical; }

/* Focus */
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field input:focus,
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field textarea:focus,
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field select:focus {
  border-color: #111;
  box-shadow: 0 0 0 2px rgba(17,17,17,.08);
}

/* Placeholder */
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field ::placeholder { color: #9ca3af; opacity: 1; }

/* Radio/checkbox (solo estética, sin alterar flujo) */
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field-radio li,
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field-checkbox li { margin: 8px 0; }
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field-radio input,
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field-checkbox input { width: 18px; height: 18px; accent-color: #111; }

/* Separación vertical de campos (no toca filas) */
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-field { margin-bottom: 16px; }

/* Botón enviar */
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-submit,
.elementor-2066 .elementor-element.elementor-element-817c0f7 button[type="submit"].wpforms-submit {
  display: inline-block;        /* respeta alineación del tema/form */
  padding: 14px 24px;
  border: none !important;
  border-radius: 12px;
  background: #111 !important;
  color: #fff !important;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: transform .06s ease, background .2s ease, box-shadow .2s;
  box-shadow: 0 4px 14px rgba(17,17,17,.08);
}
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-submit:hover { background: #2b2b2b !important; }
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-submit:active { transform: translateY(1px); }

/* Mensajes de confirmación y error */
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-confirmation-container-full {
  margin-top: 16px;
  padding: 16px;
  border-radius: 12px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #166534;
  font-weight: 500;
}
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-error { border-color:#dc2626 !important; }
.elementor-2066 .elementor-element.elementor-element-817c0f7 .wpforms-error-msg { color:#dc2626; font-size:.9rem; margin-top:4px; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-670aed1 *//* ===== Fondo animado con manchas orgánicas ===== */
.elementor-2066 .elementor-element.elementor-element-670aed1 {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.elementor-2066 .elementor-element.elementor-element-670aed1::before,
.elementor-2066 .elementor-element.elementor-element-670aed1::after {
  content: "";
  position: absolute;
  inset: -50%;
  z-index: -1;
  background: radial-gradient(circle at 30% 30%, rgba(0,150,255,0.15), transparent 60%),
              radial-gradient(circle at 70% 70%, rgba(0,200,150,0.15), transparent 60%),
              radial-gradient(circle at 40% 70%, rgba(200,200,255,0.12), transparent 70%);
  background-repeat: no-repeat;
  background-size: 200% 200%;
  animation: blobMove 30s ease-in-out infinite alternate;
  filter: blur(60px);
}

/* Capa extra para más profundidad */
.elementor-2066 .elementor-element.elementor-element-670aed1::after {
  animation-duration: 45s;
  opacity: 0.7;
}

@keyframes blobMove {
  0%   { transform: translate3d(0,0,0) scale(1); }
  50%  { transform: translate3d(-5%, -3%, 0) scale(1.1); }
  100% { transform: translate3d(5%, 3%, 0) scale(0.95); }
}/* End custom CSS */