.elementor-18 .elementor-element.elementor-element-2dbffad3{padding:0px 0px 0px 0px;}.elementor-18 .elementor-element.elementor-element-5e4f3882{padding:0px 0px 0px 0px;}.elementor-widget-wffn-optin-form .bwfac_form_sec > label, .elementor-widget-wffn-optin-form .bwfac_form_sec .wfop_input_cont > label{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-wffn-optin-form .bwfac_form_sec .wffn-optin-input, .elementor-widget-wffn-optin-form .bwfac_form_sec .wffn-optin-input::placeholder{color:var( --e-global-color-text );}.elementor-widget-wffn-optin-form .bwfac_form_sec .wffn-optin-input{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-wffn-optin-form .bwfac_form_sec #wffn_custom_optin_submit .bwf_heading{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-wffn-optin-form .bwfac_form_sec #wffn_custom_optin_submit .bwf_subheading{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-18 .elementor-element.elementor-element-0ee14ab > .elementor-widget-container{margin:-43px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-18 .elementor-element.elementor-element-0ee14ab .bwfac_form_sec .wffn-optin-input, .elementor-18 .elementor-element.elementor-element-0ee14ab .bwfac_form_sec .wffn-optin-input::placeholder{color:#3F3F3F;}.elementor-18 .elementor-element.elementor-element-0ee14ab .bwfac_form_sec .wffn-optin-input{font-family:"Open Sans", Sans-serif;font-size:16px;font-weight:400;background-color:#ffffff;border-style:solid;border-width:2px 2px 2px 2px;border-color:#d8d8d8;border-radius:0px 0px 0px 0px;}.elementor-18 .elementor-element.elementor-element-0ee14ab .wffn-custom-optin-from .wffn-optin-input{padding:12px 15px;}.elementor-18 .elementor-element.elementor-element-0ee14ab .bwfac_form_sec{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-18 .elementor-element.elementor-element-0ee14ab .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );}body .elementor-18 .elementor-element.elementor-element-0ee14ab .bwfac_form_sec .wfop_input_cont{margin-top:0px;}.elementor-18 .elementor-element.elementor-element-0ee14ab .bwfac_form_sec #wffn_custom_optin_submit{min-width:100%;background-color:#FBA506;padding:15px 15px 15px 15px;margin:15px 0px 25px 0px;border-style:solid;border-width:2px 2px 2px 2px;border-color:#E69500;border-radius:0px 0px 0px 0px;}.elementor-18 .elementor-element.elementor-element-0ee14ab .bwfac_form_sec #wffn_custom_optin_submit .bwf_heading, .elementor-18 .elementor-element.elementor-element-0ee14ab .bwfac_form_sec #wffn_custom_optin_submit .bwf_subheading{color:#ffffff !important;fill:#ffffff !important;}.elementor-18 .elementor-element.elementor-element-0ee14ab .bwfac_form_sec #wffn_custom_optin_submit:hover{background-color:#E69500;}.elementor-18 .elementor-element.elementor-element-16631608{padding:0px 0px 0px 0px;}.elementor-18 .elementor-element.elementor-element-50fc1aad{padding:0px 0px 0px 0px;}/* Start custom CSS for wffn-optin-form, class: .elementor-element-0ee14ab *//* ══════════════════════════════════════════════════════════
   IncubaLab — Skin CSS para formulario Optin FunnelKit (WFFN)
   V3 — agrega el dropdown custom (sección 3b) para reemplazar
   visualmente los <select> nativos (ej. "sede"), cuya lista abierta
   no se puede re-estilizar con CSS puro (es el listbox del sistema
   operativo). Requiere el script "form-elementor-select.js" — ver
   ese archivo para el detalle. Todo lo demás es idéntico a la V2.

   Opciones de etapa (radio) — título real que ya existe en FunnelKit,
   la bajada la agrega este CSS vía ::after:

     1) "Idea"
        → Aún no hay nada armado — y está bien, por ahí empieza todo.
     2) "Validando"
        → Ya estás probando con usuarios reales para ver qué funciona.
     3) "Funcionando"
        → Tu proyecto ya genera resultados — ahora toca crecer con método.

   Matchers por fragmento único del value (case-insensitive):
   "idea" / "valid" / "funcion". Si alguno no calza, pedir del
   inspector el value="..." real de ese input radio — ver
   FUNNELKIT-FORM-CSS.md.

   Pegar completo en: Elementor > ☰ > Custom CSS (global).
   El JS va aparte: Elementor > Custom Code (o un widget HTML al
   final de la página) — ver form-elementor-select.js.
   ══════════════════════════════════════════════════════════ */

@property --sol-rot {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
@keyframes solConic { to { --sol-rot: 360deg; } }

/* ══ 1. ENVOLTORIO — mismo lenguaje que los paneles dark del sitio
   (Proyectos / CTA final / Registro): radial violeta → ciruela ══ */

.wffn-optin-form {
  --sol-rot: 0deg;
  --wf-text:         #F8F6FB;
  --wf-muted:        rgba(244, 241, 248, .5);
  --wf-field:        rgba(255, 255, 255, .045);
  --wf-border:       rgba(255, 255, 255, .12);
  --wf-border-focus: #A78BFA;                 /* --purple-soft */
  --wf-placeholder:  rgba(244, 241, 248, .32);
  --wf-button:       linear-gradient(135deg, #E30513 0%, #C10410 100%); /* --red → --red-dark */
  --wf-radius:       14px;

  position: relative !important;
  border: 1.5px solid transparent !important;
  border-radius: 27.5px !important;
  /* capa 1: panel oscuro (hasta el padding, mismos stops que .vitrina/.cta-final) ·
     capa 2: cónico violeta→aguamarina→celeste (hasta el borde) */
  background:
    linear-gradient(165deg, #241B30 0%, #130E1C 100%) padding-box,
    conic-gradient(
      from var(--sol-rot),
      rgba(124, 58, 237, .9)  0%,
      rgba(20, 184, 166, .55) 30%,
      rgba(14, 165, 233, .85) 55%,
      rgba(124, 58, 237, .55) 80%,
      rgba(124, 58, 237, .9)  100%
    ) border-box !important;
  animation: solConic 8s linear infinite;
  padding: 44px 40px !important;
  overflow: visible !important;
  font-family: var(--sans, 'Instrument Sans', sans-serif);
}

.wffn-optin-form,
.wffn-optin-form * {
  box-sizing: border-box;
}

@media (max-width: 640px) {
  .wffn-optin-form {
    padding: 34px 22px !important;
  }
}

/* ══ 2. ESTRUCTURA del form ══ */

.wffn-optin-form .wffn-custom-optin-from,
.wffn-optin-form .elementor-form-fields-wrapper {
  position: relative;
  z-index: 1;
}

.wffn-optin-form .wfop_section.single_step,
.wffn-optin-form .wfop_section {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

/* Cada campo (wrapper). FunnelKit asigna el ancho por clase
   (wffn-sm-100/80/75/66/60/50/40/33/25/20 — el set clásico de "Field
   Width"). calc(f% - gap*(1-f)) resta la porción de gap que le toca
   a cada campo para que N campos + sus gaps sumen exactamente 100%. */
.wffn-optin-form .bwfac_form_sec {
  margin-bottom: 0 !important;
}
.wffn-optin-form .bwfac_form_sec.wffn-sm-100 { width: 100% !important; }
.wffn-optin-form .bwfac_form_sec.wffn-sm-80  { width: calc(80% - 3.6px)     !important; }
.wffn-optin-form .bwfac_form_sec.wffn-sm-75  { width: calc(75% - 4.5px)    !important; }
.wffn-optin-form .bwfac_form_sec.wffn-sm-66  { width: calc(66.666% - 6px)  !important; }
.wffn-optin-form .bwfac_form_sec.wffn-sm-60  { width: calc(60% - 7.2px)    !important; }
.wffn-optin-form .bwfac_form_sec.wffn-sm-50  { width: calc(50% - 9px)      !important; }
.wffn-optin-form .bwfac_form_sec.wffn-sm-40  { width: calc(40% - 10.8px)   !important; }
.wffn-optin-form .bwfac_form_sec.wffn-sm-33  { width: calc(33.333% - 12px) !important; }
.wffn-optin-form .bwfac_form_sec.wffn-sm-25  { width: calc(25% - 13.5px)   !important; }
.wffn-optin-form .bwfac_form_sec.wffn-sm-20  { width: calc(20% - 14.4px)   !important; }

/* En móvil, todos los campos vuelven a ocupar la fila completa */
@media (max-width: 640px) {
  .wffn-optin-form .bwfac_form_sec {
    width: 100% !important;
  }
}

/* Etiqueta del campo */
.wffn-optin-form .bwfac_form_sec > label,
.wffn-optin-form .bwfac_form_sec .wfop_label,
.wffn-optin-form .elementor-field-label {
  display: block;
  color: var(--wf-text) !important;
  opacity: 1 !important;
  font-family: var(--sans, 'Instrument Sans', sans-serif);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .3px;
  margin-bottom: 10px !important;
}

/* Asterisco de campo obligatorio */
.wffn-optin-form .wfop_required {
  color: #7C3AED;
}

/* ══ 3. INPUTS — first_name / email / phone ══ */

.wffn-optin-form .wfop_input_cont {
  position: relative;
}

.wffn-optin-form .wffn-optin-input,
.wffn-optin-form input[type="text"],
.wffn-optin-form input[type="email"],
.wffn-optin-form input[type="tel"],
.wffn-optin-form input[type="number"],
.wffn-optin-form input[type="url"],
.wffn-optin-form textarea,
.wffn-optin-form select {
  width: 100% !important;
  font-family: var(--sans, 'Instrument Sans', sans-serif);
  font-size: 14.5px;
  color: var(--wf-text) !important;
  background: var(--wf-field) !important;
  border: 1.5px solid var(--wf-border) !important;
  border-radius: var(--wf-radius) !important;
  padding: 14px 16px !important;
  min-height: 50px;
  box-shadow: none !important;
  transition: border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.wffn-optin-form ::placeholder {
  color: var(--wf-placeholder) !important;
}

.wffn-optin-form .wffn-optin-input:hover,
.wffn-optin-form input:hover,
.wffn-optin-form textarea:hover,
.wffn-optin-form select:hover {
  border-color: rgba(255, 255, 255, .22) !important;
}

.wffn-optin-form .wffn-optin-input:focus,
.wffn-optin-form input:focus,
.wffn-optin-form textarea:focus,
.wffn-optin-form select:focus {
  outline: none !important;
  border-color: var(--wf-border-focus) !important;
  background: rgba(124, 58, 237, .07) !important;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, .2), 0 0 20px rgba(124, 58, 237, .14) !important;
}

/* Teléfono con .elementor-18 .elementor-element.elementor-element-0ee14ab de bandera/prefijo (intl-tel-input), si aplica */
.wffn-optin-form .iti,
.wffn-optin-form .iti input,
.wffn-optin-form .iti__selected-flag,
.wffn-optin-form .iti__flag-container {
  background: var(--wf-field) !important;
  color: var(--wf-text) !important;
  border-color: var(--wf-border) !important;
}

/* ══ 3b. DROPDOWN CUSTOM — reemplaza el <select> nativo (requiere
   form-elementor-select.js). El <select> real sigue en el DOM,
   oculto con la misma técnica que los radios (clip-path, no
   display:none) para que su value siga viajando en el submit. ══ */

.wffn-optin-form .wf-select-native {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  clip-path: inset(50%) !important;
  pointer-events: none !important;
}

.wf-select {
  position: relative;
  width: 100%;
}

.wf-select-btn {
  width: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-family: var(--sans, 'Instrument Sans', sans-serif);
  font-size: 14.5px;
  text-align: left;
  color: var(--wf-text) !important;
  background: var(--wf-field) !important;
  border: 1.5px solid var(--wf-border) !important;
  border-radius: var(--wf-radius) !important;
  padding: 14px 16px !important;
  min-height: 50px;
  cursor: pointer;
  transition: border-color .22s ease, background .22s ease, box-shadow .22s ease;
}
.wf-select-label {
  flex: 1; min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.wf-select-label.is-placeholder { color: var(--wf-placeholder); }
.wf-select-btn svg {
  flex-shrink: 0; color: var(--wf-muted);
  transition: transform .25s ease;
}
.wf-select.is-open .wf-select-btn svg { transform: rotate(180deg); }

.wf-select-btn:hover { border-color: rgba(255, 255, 255, .22) !important; }
.wf-select.is-open .wf-select-btn,
.wf-select-btn:focus-visible {
  outline: none;
  border-color: var(--wf-border-focus) !important;
  background: rgba(124, 58, 237, .07) !important;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, .2), 0 0 20px rgba(124, 58, 237, .14) !important;
}

.wf-select-list {
  position: absolute; z-index: 40;
  left: 0; right: 0; top: calc(100% + 8px);
  max-height: 260px;
  overflow-y: auto;
  background: linear-gradient(165deg, #241B30 0%, #130E1C 100%);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 14px;
  padding: 6px;
  box-shadow: 0 24px 48px -20px rgba(0, 0, 0, .6), 0 0 0 1px rgba(124, 58, 237, .15);
  display: none;
}
.wf-select.is-open .wf-select-list { display: block; }

.wf-select-opt {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 10px 12px;
  border: 0; border-radius: 9px;
  background: transparent;
  font-family: var(--sans, 'Instrument Sans', sans-serif);
  font-size: 14px;
  color: rgba(244, 241, 248, .82);
  text-align: left;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.wf-select-opt:hover,
.wf-select-opt.is-active {
  background: rgba(124, 58, 237, .16);
  color: #fff;
}
.wf-select-opt.is-selected {
  color: #fff;
  font-weight: 700;
}
.wf-select-opt .wf-select-check {
  opacity: 0; flex-shrink: 0;
  color: #A78BFA;
}
.wf-select-opt.is-selected .wf-select-check { opacity: 1; }

.wf-select-list::-webkit-scrollbar { width: 8px; }
.wf-select-list::-webkit-scrollbar-track { background: transparent; }
.wf-select-list::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, .15);
  border-radius: 999px;
}

/* ══ 4. RADIO — tarjetas con ícono + título + descripción ══ */

.wffn-optin-form .bwfac_form_field_radio,
.wffn-optin-form .elementor-field-subgroup {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
  list-style: none !important;
}
@media (max-width: 640px) {
  .wffn-optin-form .bwfac_form_field_radio,
  .wffn-optin-form .elementor-field-subgroup {
    grid-template-columns: 1fr !important;
  }
}

.wffn-optin-form .bwfac_form_field_radio > div,
.wffn-optin-form .bwfac_form_field_radio ul,
.wffn-optin-form .bwfac_form_field_radio ol,
.wffn-optin-form .bwfac_form_field_radio li,
.wffn-optin-form .bwfac_form_field_radio .wfop_input_cont,
.wffn-optin-form .bwfac_form_field_radio span:has(> input[type="radio"]) {
  display: contents !important;
}

.wffn-optin-form .bwfac_form_field_radio > label:first-child,
.wffn-optin-form .bwfac_form_field_radio > .wfop_label,
.wffn-optin-form .bwfac_form_field_radio .wfop_error {
  grid-column: 1 / -1;
}

.wffn-optin-form input[type="radio"],
.wffn-optin-form .bwfac_form_field_radio input[type="radio"],
.wffn-optin-form label input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  clip-path: inset(50%) !important;
  pointer-events: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.wffn-optin-form .bwfac_form_field_radio label span:empty,
.wffn-optin-form .bwfac_form_field_radio label i:empty {
  display: none !important;
}

/* La tarjeta = el label. Ícono arriba, título (texto real del plugin), descripción abajo. */
.wffn-optin-form input[type="radio"] + label,
.wffn-optin-form label:has(> input[type="radio"]),
.wffn-optin-form label:has(input[type="radio"]) {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  min-height: 118px;
  height: 100%;
  cursor: pointer;
  margin: 0 !important;
  padding: 18px 16px !important;
  border-radius: 16px !important;
  border: 1.5px solid var(--wf-border) !important;
  background: rgba(255, 255, 255, .04) !important;
  font-family: var(--disp, 'Bricolage Grotesque', sans-serif);
  font-size: 14px;
  font-weight: 800;
  color: rgba(244, 241, 248, .9) !important;
  line-height: 1.35;
  letter-spacing: -.01em;
  text-align: left;
  transition: border-color .22s ease, background .22s ease, box-shadow .22s ease, transform .2s ease;
}

/* ── Ícono (::before). Genérico: destello de 4 puntas.
   Overrides por SUBSTRING del value, case-insensitive. ── */
.wffn-optin-form input[type="radio"] + label::before,
.wffn-optin-form label:has(input[type="radio"])::before {
  content: "" !important;
  display: block !important;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  position: static !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  background: transparent no-repeat center / contain !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a78bfa' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l1.8 8.2L22 12l-8.2 1.8L12 22l-1.8-8.2L2 12l8.2-1.8L12 2z'/%3E%3C/svg%3E") !important;
}

/* Opción "Idea" → ampolleta (misma pieza que el CTA final del home) */
.wffn-optin-form input[type="radio"][value*="idea" i] + label::before,
.wffn-optin-form label:has(input[type="radio"][value*="idea" i])::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a78bfa' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21h6'/%3E%3Cpath d='M10 18h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-3.5 10.9c.6.5.9 1.1 1 1.9v.2h5v-.2c.1-.8.4-1.4 1-1.9A6 6 0 0 0 12 3Z'/%3E%3C/svg%3E") !important;
}

/* Opción "Validando" → lupa (validación con usuarios reales) */
.wffn-optin-form input[type="radio"][value*="valid" i] + label::before,
.wffn-optin-form label:has(input[type="radio"][value*="valid" i])::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a78bfa' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Opción "Funcionando" → tendencia al alza */
.wffn-optin-form input[type="radio"][value*="funcion" i] + label::before,
.wffn-optin-form label:has(input[type="radio"][value*="funcion" i])::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a78bfa' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 7 13.5 15.5 8.5 10.5 2 17'/%3E%3Cpolyline points='16 7 22 7 22 13'/%3E%3C/svg%3E") !important;
}

/* ── Descripción breve bajo cada opción (::after, texto fino).
   Clase triplicada = especificidad reforzada para ganarle al
   ::after propio del plugin. ── */
.wffn-optin-form.wffn-optin-form.wffn-optin-form input[type="radio"][value*="idea" i] + label::after,
.wffn-optin-form.wffn-optin-form.wffn-optin-form label:has(input[type="radio"][value*="idea" i])::after {
  content: "Aún no hay nada armado — y está bien, por ahí empieza todo" !important;
}
.wffn-optin-form.wffn-optin-form.wffn-optin-form input[type="radio"][value*="valid" i] + label::after,
.wffn-optin-form.wffn-optin-form.wffn-optin-form label:has(input[type="radio"][value*="valid" i])::after {
  content: "Ya estás probando con usuarios reales para ver qué funciona" !important;
}
.wffn-optin-form.wffn-optin-form.wffn-optin-form input[type="radio"][value*="funcion" i] + label::after,
.wffn-optin-form.wffn-optin-form.wffn-optin-form label:has(input[type="radio"][value*="funcion" i])::after {
  content: "Tu proyecto ya genera resultados — ahora toca crecer con método" !important;
}
/* estilo compartido de la descripción — todo !important para que
   ninguna regla del plugin lo desplace ni lo esconda */
.wffn-optin-form.wffn-optin-form.wffn-optin-form input[type="radio"] + label::after,
.wffn-optin-form.wffn-optin-form.wffn-optin-form label:has(input[type="radio"])::after {
  display: block !important;
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  white-space: normal !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: -2px 0 0 !important;
  background: none !important;
  transform: none !important;
  box-shadow: none !important;
  font-family: var(--sans, 'Instrument Sans', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-align: left !important;
  color: var(--wf-muted) !important;
}

.wffn-optin-form input[type="radio"] + label:hover,
.wffn-optin-form label:has(input[type="radio"]):hover {
  border-color: rgba(124, 58, 237, .4) !important;
  background: rgba(124, 58, 237, .06) !important;
  transform: translateY(-2px);
}

/* ─── SELECCIONADO: la tarjeta se ilumina (sin punto de radio) ─── */
.wffn-optin-form input[type="radio"]:checked + label,
.wffn-optin-form label:has(input[type="radio"]:checked) {
  border-color: #7C3AED !important;
  background: linear-gradient(135deg, rgba(124, 58, 237, .22), rgba(20, 184, 166, .1)) !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(124, 58, 237, .35), 0 0 26px rgba(124, 58, 237, .3) !important;
}

/* Foco visible con teclado (accesibilidad) */
.wffn-optin-form input[type="radio"]:focus-visible + label,
.wffn-optin-form label:has(input[type="radio"]:focus-visible) {
  outline: 2px solid var(--wf-border-focus);
  outline-offset: 2px;
}

/* ══ 5. BOTÓN DE ENVÍO — rojo INACAP, el único uso de rojo en el form ══ */

.wffn-optin-form .bwfac_form_field_submit [type="submit"],
.wffn-optin-form [type="submit"],
.wffn-optin-form button,
.wffn-optin-form .elementor-button {
  position: relative;
  overflow: hidden;
  width: 100% !important;
  min-height: 54px;
  padding: 18px 32px !important;
  border: 0 !important;
  border-radius: var(--wf-radius) !important;
  background: var(--wf-button) !important;
  font-family: var(--disp, 'Bricolage Grotesque', sans-serif);
  font-size: 15.5px;
  font-weight: 700;
  letter-spacing: .1px;
  color: #fff !important;
  cursor: pointer;
  box-shadow: 0 0 0 1px rgba(227, 5, 19, .3), 0 10px 28px rgba(227, 5, 19, .35) !important;
  transition: transform .3s ease, box-shadow .4s ease, filter .25s ease;
}

.wffn-optin-form [type="submit"]:hover,
.wffn-optin-form button:hover,
.wffn-optin-form .elementor-button:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 0 0 1px rgba(227, 5, 19, .45), 0 0 34px rgba(227, 5, 19, .4), 0 14px 34px rgba(0, 0, 0, .4) !important;
}

.wffn-optin-form [type="submit"]:focus-visible,
.wffn-optin-form button:focus-visible {
  outline: 2px solid var(--wf-border-focus);
  outline-offset: 3px;
}

/* ══ 6. MENSAJES de error / éxito ══ */

.wffn-optin-form .wfop_error,
.wffn-optin-form .wfop-error-msg,
.wffn-optin-form .elementor-message-danger,
.wffn-optin-form .error {
  font-family: var(--sans, 'Instrument Sans', sans-serif);
  font-size: 12.5px;
  color: #fda4af;
  margin-top: 6px;
}

.wffn-optin-form .elementor-message-success {
  background: rgba(20, 184, 166, .12) !important;
  color: #5EEAD4 !important;
  border: 1px solid rgba(20, 184, 166, .35) !important;
  border-radius: 12px;
  padding: 14px 18px;
  font-size: 13.5px;
  margin-top: 14px;
}/* End custom CSS */