/* Acabados del ensayo 501 contrastados con Contacto original; campos y valores nativos. */
[data-ast-contact-probe] { --ast-muted:#697053; --ast-ink:#012426; --ast-lime:#e7ff98; }
[data-ast-contact-probe] .ast-form-availability {
  margin: 0 0 20px;
  padding: 10px 14px;
  border: 1px solid currentColor;
  border-radius: 10px;
  color: var(--ast-ink);
  font-size: 14px;
  line-height: 1.4;
}
.elementor-element[data-ast-contact-probe] form.elementor-form .elementor-field-group .elementor-field-textual::placeholder { color:var(--ast-muted); opacity:1; font-weight:300; }
.elementor-element[data-ast-contact-probe] form.elementor-form .elementor-field-group.ast-filled > label, .elementor-element[data-ast-contact-probe] form.elementor-form .ast-idea-counter { color:var(--ast-muted); }
.elementor-element[data-ast-contact-probe] form.elementor-form .elementor-field-group.ast-filled > label .elementor-mark-required { color:inherit; }
.elementor-element[data-ast-contact-probe] form.elementor-form .elementor-field-group.ast-filled .elementor-field-textual { border-color:var(--ast-ink); border-width:1.2px; font-weight:500; }
.elementor-element[data-ast-contact-probe] form.elementor-form .elementor-field-textual:not(textarea) { min-height:51px; padding-inline:18px; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-idea-counter { display:block; width:100%; margin-top:4px; text-align:right; font:400 12px/1 Inter,sans-serif; letter-spacing:0; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select { position:relative; width:100%; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-toggle { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:14px 18px; text-align:left; cursor:pointer; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-toggle span { min-width:0; overflow-wrap:anywhere; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-toggle::after { content:""; flex-shrink:0; width:9px; height:9px; border-right:2px solid; border-bottom:2px solid; transform:rotate(45deg); margin:-5px 5px 0; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-toggle[aria-expanded="true"]::after { transform:rotate(225deg); margin:5px 5px 0; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select .ast-select-toggle.ast-placeholder { color:var(--ast-muted); font-weight:300; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-open { z-index:6; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select.ast-open .ast-select-toggle { border-color:var(--ast-ink); border-radius:var(--ast-select-radius,16px) var(--ast-select-radius,16px) 0 0; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-panel { position:absolute; z-index:5; top:calc(100% - 1px); left:0; right:0; max-height:min(192px,40dvh); overflow:auto; padding:0; background:var(--ast-lime); border:1px solid var(--ast-ink); border-top-color:#d2e690; border-radius:0 0 var(--ast-select-radius,16px) var(--ast-select-radius,16px); box-shadow:8px 8px 60px #0000001a; scrollbar-width:thin; scrollbar-color:var(--ast-ink) transparent; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-open-above.ast-open .ast-select-toggle { border-radius:0 0 var(--ast-select-radius,16px) var(--ast-select-radius,16px); }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-open-above .ast-select-panel { top:auto; bottom:calc(100% - 1px); border-top-color:var(--ast-ink); border-bottom-color:#d2e690; border-radius:var(--ast-select-radius,16px) var(--ast-select-radius,16px) 0 0; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-panel label { display:flex; align-items:center; gap:6px; min-height:40px; padding:11px 18px; border-bottom:1px solid #d2e690; font:400 14px/1.2 Inter,sans-serif; letter-spacing:-.02em; color:var(--ast-muted); cursor:pointer; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-panel label:last-child { border-bottom:0; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-panel label:hover, .elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-panel label.ast-selected { background:#0124260d; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-panel label.ast-selected { color:var(--ast-ink); font-weight:500; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-panel input { appearance:none; position:relative; flex-shrink:0; width:16px; height:16px; margin:0; border:1px solid currentColor; border-radius:4px; color:inherit; background:transparent; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-panel input[type="radio"] { border-radius:50%; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-panel input[type="radio"]:checked { background:radial-gradient(var(--ast-ink) 0 4px,transparent 4.5px); }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-panel input[type="checkbox"]:checked { background:var(--ast-ink); }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-panel input[type="checkbox"]:checked::after { content:""; position:absolute; width:8px; height:5px; left:3px; top:3px; border-left:2px solid var(--ast-lime); border-bottom:2px solid var(--ast-lime); transform:rotate(-45deg); }
.elementor-element[data-ast-contact-probe] form.elementor-form .elementor-field-textual { outline:2px solid transparent; outline-offset:-2px; }
.elementor-element[data-ast-contact-probe] form.elementor-form .elementor-field-textual:focus-visible { outline-color:var(--ast-ink); }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-panel input:focus-visible { outline:2px solid var(--ast-ink); outline-offset:3px; }
.elementor-501 [data-id="f49c908"]:focus-visible { outline:2px solid #012426; outline-offset:3px; }
.elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-toggle[aria-invalid="true"] { border-color:#a40000; }
[data-ast-contact-probe] [hidden] { display:none !important; }
@media (max-width:767px) { .elementor-element[data-ast-contact-probe] form.elementor-form .ast-select-panel label { min-height:44px; } }

/* Solo Trabaja: las medidas base y la familia siguen en Elementor. */
.elementor-element[data-ast-variant="trabaja"] form.elementor-form .ast-select-toggle > span { display:flex; flex-wrap:wrap; gap:4px 8px; }
.elementor-element[data-ast-variant="trabaja"] form.elementor-form .ast-select-tag { white-space:nowrap; }
.elementor-element[data-ast-variant="trabaja"] form.elementor-form textarea.elementor-field { min-height:164px; padding:15px 18px; }
.elementor-element[data-ast-variant="trabaja"] form.elementor-form .elementor-field-type-submit { margin-top:28px; }

/* Trabaja1057: estados del DS; Contacto conserva sus reglas anteriores. */
.elementor-element[data-ast-variant="trabaja"] form.elementor-form .ast-idea-counter { margin-top:10px; font-size:14px; line-height:1.2; letter-spacing:-.02em; }
.elementor-1057 .elementor-element[data-ast-variant="trabaja"] form.elementor-form .ast-select.ast-open .ast-select-toggle { background:#fff; border-radius:var(--ast-select-radius,20px); }
.elementor-1057 .elementor-element[data-ast-variant="trabaja"] form.elementor-form .ast-select .ast-select-panel { background:#fff; top:calc(100% - 1.2px); max-height:40dvh; border:1.2px solid var(--ast-ink); border-radius:var(--ast-select-radius,20px); }
.elementor-element[data-ast-variant="trabaja"] form.elementor-form .ast-open-above .ast-select-panel { top:auto; bottom:calc(100% - 1.2px); }
.elementor-element[data-ast-variant="trabaja"] form.elementor-form .ast-select-panel label { min-height:39px; padding:11px 18px; gap:8px; border:0; color:var(--ast-ink); transition:background-color .15s ease-out,color .15s ease-out; }
.elementor-element[data-ast-variant="trabaja"] form.elementor-form .ast-select-panel input { border-width:1.2px; color:var(--ast-muted); }
@media (max-width:767px) { .elementor-element[data-ast-variant="trabaja"] form.elementor-form .ast-select-panel label { min-height:44px; } }

/* Trabaja: hover, selección y resumen; sin alterar Contacto ni el foco aprobado. */
.elementor-element[data-ast-variant="trabaja"] form.elementor-form .elementor-field-textual { transition:border-color .15s ease-out,border-width .15s ease-out; }
@media (hover:hover) { .elementor-element[data-ast-variant="trabaja"] form.elementor-form .elementor-field-textual:not([aria-invalid="true"]):hover { border-color:var(--ast-ink); border-width:1.5px; } }
.elementor-element[data-ast-variant="trabaja"] form.elementor-form .ast-select-panel label.ast-selected { background:#fff; }
.elementor-element[data-ast-variant="trabaja"] form.elementor-form .ast-select-toggle > span { flex:1; }
.elementor-element[data-ast-variant="trabaja"] form.elementor-form .ast-select-toggle.ast-placeholder > span { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.elementor-element[data-ast-variant="trabaja"] form.elementor-form .ast-select-tag { max-width:100%; overflow:hidden; text-overflow:ellipsis; }

/* Solo1057: cabecera clara sobre la capa modal; cerrar sigue en el panel nativo. */
.elementor-1057:has(#off-canvas-2e8adc0[aria-hidden="false"]) [data-id="26bbb53e"] { z-index:2147483631; pointer-events:none; }
.elementor-1057:has(#off-canvas-2e8adc0[aria-hidden="false"]) [data-id="26bbb53e"] * { pointer-events:none; }
.elementor-1057:has(#off-canvas-2e8adc0[aria-hidden="false"]) [data-id="26bbb53e"] [data-interaction-id="6abddf5f"] { visibility:hidden; }

/* Contacto501/747: el resumen conserva el espacio de su flecha. */
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) .ast-select-toggle > span { flex:1; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }

/* Contacto501/747: acabados del DS; familia, etiquetas y radios siguen en Elementor. */
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) form.elementor-form .ast-idea-counter { margin-top:10px; font-size:14px; line-height:1.2; letter-spacing:-.02em; }
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) form.elementor-form .elementor-field-textual { transition:border-color .15s ease-out,border-width .15s ease-out; }
@media (hover:hover) { :is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) form.elementor-form .elementor-field-textual:not([aria-invalid="true"]):hover { border-color:var(--ast-ink); border-width:1.5px; } }
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) form.elementor-form .ast-select.ast-open .ast-select-toggle { background:var(--ast-lime); border-width:1.2px; border-radius:var(--ast-select-radius,20px); }
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) form.elementor-form .ast-select .ast-select-panel { top:calc(100% - 1.2px); border:1.2px solid var(--ast-ink); border-radius:var(--ast-select-radius,20px); box-shadow:0 12px 24px rgba(1,36,38,.18); }
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) form.elementor-form .ast-open-above .ast-select-panel { top:auto; bottom:calc(100% - 1.2px); }
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) form.elementor-form .ast-select-panel label { min-height:39px; gap:8px; border:0; color:var(--ast-ink); transition:background-color .15s ease-out,color .15s ease-out; }
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) form.elementor-form .ast-select-panel label.ast-selected { background:#fff; }
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) form.elementor-form .ast-select-panel input { border-width:1.2px; color:var(--ast-muted); }
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) form.elementor-form .elementor-field-group:has(.ast-open) > label { color:var(--ast-muted); }
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) form.elementor-form .elementor-field-group:has(.ast-open) > label .elementor-mark-required { color:inherit; }
@media (max-width:767px) { :is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) form.elementor-form .ast-select-panel label { min-height:44px; } }

/* Contacto501/747: Enviar conserva su control Pro y la separación del formulario de nueve campos. */
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) .elementor-field-type-submit { margin-top:28px; }
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) #contacto_pro_enviar { min-width:120px; min-height:51px; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 0 0 2px var(--ast-ink); }
:is(.elementor-747,.elementor-501) [data-ast-contact-probe]:not([data-ast-variant="pasos"]) #contacto_pro_enviar .elementor-button-icon { font-size:20px; }

/* Solo borrador1333. Pro conserva pasos, campos, opciones y navegación. */
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form { --ast-step-height:561px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__indicators { position:relative; display:flex; align-items:flex-end; gap:6px; height:40px; padding-top:34px; margin:0 0 16px; box-sizing:border-box; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__indicators__indicator { position:static; flex:1 1 0; height:6px; background:rgba(1,36,38,.15); padding:0; border-radius:3px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__indicators__indicator--state-active,.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__indicators__indicator--state-completed { background:var(--ast-ink); }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__indicators__indicator__separator { display:none; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__indicators__indicator__label { position:absolute; top:0; left:0; margin:0; color:var(--ast-muted); font-weight:400; font-family:inherit; font-size:18px; line-height:1; letter-spacing:0; text-transform:uppercase; visibility:hidden; pointer-events:none; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__indicators__indicator--state-active .e-form__indicators__indicator__label { visibility:visible; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__step:not(.elementor-hidden) { display:flex; align-content:flex-start; min-height:var(--ast-step-height); position:relative; padding-bottom:99px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-step-title { margin:0; font-family:inherit; font-size:36px; font-weight:600; line-height:1.2; letter-spacing:-.03em; color:var(--ast-ink); }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__step > .elementor-field-type-html { margin-bottom:32px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-step-help { margin:0; color:var(--ast-muted); font-size:16px; line-height:1.2; letter-spacing:-.01em; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__step > .elementor-field-type-html:has(+ .elementor-field-type-html .ast-step-help) { margin-bottom:16px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__step > .elementor-field-type-html:has(.ast-step-help) { margin-top:0; margin-bottom:32px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__step > .elementor-field-type-html.elementor-field-group-aviso { margin-top:16px; margin-bottom:24px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-field-group:has(>.elementor-field-subgroup) > label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-field-subgroup { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:12px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] :is(.elementor-field-group-decisor,.elementor-field-group-plazo) .elementor-field-subgroup { grid-template-columns:minmax(0,1fr); }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-field-group-presupuesto .elementor-field-option:last-child { grid-column:1/-1; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-field-option { position:relative; padding:0; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-field-option label { display:flex; align-items:center; min-height:68px; width:100%; padding:18px 18px 18px 58px; border:1px solid var(--ast-muted); border-radius:20px; font-size:14px; font-weight:400; line-height:1.2; letter-spacing:-.02em; color:var(--ast-ink); cursor:pointer; transition:background-color .15s ease-out,border-color .15s ease-out; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-field-option input { position:absolute; left:34px; top:50%; transform:translateY(-50%); width:16px; height:16px; margin:0; accent-color:var(--ast-ink); cursor:pointer; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-field-option input:checked + label { background:#fff; border-color:#fff; font-weight:500; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-field-option input:focus-visible + label { outline:2px solid var(--ast-ink); outline-offset:2px; }
@media(hover:hover) { .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-field-option label:hover { border-color:var(--ast-ink); } }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__buttons { display:flex; justify-content:space-between; align-items:center; position:absolute; bottom:0; left:0; width:100%; margin-top:0; padding-top:24px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__buttons:not(:has([data-direction="previous"])) { justify-content:flex-end; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__buttons__wrapper { flex:0 0 auto; width:auto; margin-bottom:0; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__buttons button { min-height:51px; padding:14px 20px; border:0; border-radius:16px; background:var(--ast-ink); color:#fff; font-family:inherit; font-size:18px; font-weight:600; line-height:1.2; letter-spacing:-.04em; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__buttons button[data-direction="previous"] { padding:0; background:transparent; color:var(--ast-ink); font-weight:700; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__buttons button:focus-visible { outline:2px solid var(--ast-ink); outline-offset:4px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form textarea.elementor-field { min-height:165px; padding:18px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .ast-idea-counter { margin-top:10px; font-size:14px; line-height:1.2; letter-spacing:-.02em; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .ast-select.ast-open .ast-select-toggle { border-radius:20px; background:var(--ast-lime); }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .ast-select-panel { border:1.2px solid var(--ast-ink); border-radius:20px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .ast-select-panel label { min-height:39px; gap:8px; border:0; color:var(--ast-ink); }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .ast-select-panel label.ast-selected { background:#fff; }
@media(max-width:767px) {
 .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form { --ast-step-height:520px; }
 .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-step-title { font-size:28px; }
 .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-field-subgroup { grid-template-columns:minmax(0,1fr); gap:12px; }
 .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-field-option label { min-height:56px; font-size:16px; }
 .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .ast-select-panel label { min-height:44px; }
}

/* Smart Animate350ms del prototipo: fundido de entrada sobre el paso nativo.
   No interpola geometría ni duplica estados; no añade motor JavaScript. */
@keyframes ast-pasos-entrada { from { opacity:0; } to { opacity:1; } }
/* La entrada se coordina al cambiar el paso; navegación estable. */
@media(prefers-reduced-motion:reduce) {
 .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__step:not(.elementor-hidden) { animation:none; }
 .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-field-option label { transition:none; }
}

/* Acabado contrastado con Play y variantes3967. Pro conserva navegación. */
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__buttons button[data-direction="next"],.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__buttons button[type="submit"] { box-shadow:0 0 0 2px var(--ast-ink); }
@media(min-width:768px) { .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__buttons button[data-direction="next"] { min-width:149px; } }

/* Estados de campo y lista contrastados con DS3826/3827. Solo1333. */
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .elementor-field-textual { transition:border-color .15s ease-out,border-width .15s ease-out; }
@media(hover:hover) { .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .elementor-field-textual:not([aria-invalid="true"]):hover { border-color:var(--ast-ink); border-width:1.5px; } }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .elementor-field-group:focus-within > label,.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .elementor-field-group:has(.ast-open) > label { color:var(--ast-muted); }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .ast-select-panel { top:calc(100% - 1.2px); box-shadow:0 12px 24px rgba(1,36,38,.18); }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .ast-open-above .ast-select-panel { top:auto; bottom:calc(100% - 1.2px); }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .elementor-field-textual[aria-invalid="true"] { border:2px solid #b3261e; outline-color:transparent; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .elementor-field-group:has([aria-invalid="true"]) > label { color:var(--ast-ink); }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-field-error { display:flex; align-items:center; gap:6px; width:100%; margin-top:10px; color:#b3261e; font-size:14px; font-weight:500; line-height:1.2; letter-spacing:-.02em; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-field-error::before { content:""; flex:0 0 16px; width:16px; height:16px; background:url("assets/error.svg") center/16px 16px no-repeat; }
@media(prefers-reduced-motion:reduce) { .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] form.elementor-form .elementor-field-textual { transition:none; } }

/* Errores: columnas alineadas arriba y texto largo legible en móvil. */
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__step > .elementor-field-group { align-content:flex-start; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-field-error { overflow-wrap:anywhere; }

/* Pro conserva los estados; estos nodos se pintan durante350ms, sin clones. */
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-form-fields-wrapper { position:relative; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__step.elementor-hidden.ast-step-outgoing { display:flex !important; position:absolute; top:var(--ast-old-top); left:var(--ast-old-left); width:var(--ast-old-width); height:var(--ast-old-height); min-height:var(--ast-old-height); align-content:flex-start; padding-bottom:99px; pointer-events:none; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-step-outgoing .e-form__buttons { visibility:hidden; }
@keyframes ast-pasos-salida { to { opacity:0; } }
@keyframes ast-campos-entrada { from { opacity:0; transform:translateY(var(--ast-fields-y,0px)); } to { opacity:1; transform:translateY(0); } }
@keyframes ast-campos-salida { from { opacity:1; transform:translateY(0); } to { opacity:0; transform:translateY(var(--ast-fields-y,0px)); } }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-step-incoming > .elementor-field-group,.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-counter-in,.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-nav-enter { animation:ast-pasos-entrada .35s ease-out both; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-step-outgoing > .elementor-field-group { animation:ast-pasos-salida .35s ease-out both; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-step-incoming > .ast-pasos-field { animation-name:ast-campos-entrada; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-step-outgoing > .ast-pasos-field { animation-name:ast-campos-salida; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__indicators .e-form__indicators__indicator__label.ast-counter-out { visibility:visible; animation:ast-pasos-salida .35s ease-out both; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__indicators__indicator { transition:background-color .35s ease-out; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-pasos-button-content { display:inline-flex; align-items:center; justify-content:center; gap:10px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] [data-direction="previous"].ast-pasos-button-content { gap:8px; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-pasos-arrow { display:inline-block; flex:0 0 20px; width:20px; height:20px; background:currentColor; -webkit-mask:url("assets/arrow-right.svg") center/20px 20px no-repeat; mask:url("assets/arrow-right.svg") center/20px 20px no-repeat; }
.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-pasos-arrow-left { -webkit-mask-image:url("assets/arrow-left.svg"); mask-image:url("assets/arrow-left.svg"); }
@media(max-width:767px) { .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__buttons button[data-direction="next"] { padding-inline:12px; } }
@media(prefers-reduced-motion:reduce) { .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-step-incoming > .elementor-field-group,.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-step-outgoing > .elementor-field-group,.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-counter-in,.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-counter-out,.elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .ast-nav-enter { animation:none; } .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__indicators__indicator { transition:none; } .elementor:is(.elementor-1333,.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__step.elementor-hidden.ast-step-outgoing { display:none !important; } }
.elementor-1057 [data-ast-variant="trabaja"] .ast-select-toggle > span { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }

/* 1622 y501 de seis pasos: Privacidad y navegación forman el grupo inferior; altura natural. */
.elementor:is(.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__step:has(> .elementor-field-group-privacidad) { flex-direction:column; flex-wrap:nowrap; padding-bottom:0; }
.elementor:is(.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .elementor-field-group-privacidad { margin-top:auto; margin-bottom:12px; }
.elementor:is(.elementor-1622,.elementor-501) .elementor-element[data-ast-variant="pasos"] .e-form__step:has(> .elementor-field-group-privacidad) > .e-form__buttons { position:static; padding-top:0; }
