/* Formularios por pasos: se apoya en las clases de Elementor (mismos campos, colores y botones). Móvil primero. */
.elementor-form [hidden] { display: none !important; }
.rsp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.rsp-progress { margin: 0 5px 18px; }
.rsp-progress-text { display: block; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--e-global-color-secondary, #606060); margin-bottom: 6px; }
.rsp-progress-bar { display: block; height: 4px; background: #e4eeee; border-radius: 2px; overflow: hidden; }
.rsp-progress-bar > span { display: block; height: 100%; background: var(--e-global-color-primary, #287C85); transition: width .25s ease; }
.rsp-hint { font-size: 14px; color: var(--e-global-color-secondary, #606060); margin-top: -4px; }
.rsp-turnstile { min-height: 0; }
.rsp-nav { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.rsp-nav .rsp-msg { flex: 0 0 100%; margin: 0 0 4px; padding: 10px 12px; font-size: 14px; border-left: 3px solid #c0392b; background: #fdf1ef; color: #8a2a1d; }
.rsp-nav .elementor-button { flex: 1 1 140px; justify-content: center; }
.rsp-nav .rsp-back { background: transparent; color: var(--e-global-color-primary, #287C85); border: 1px solid var(--e-global-color-primary, #287C85); }
.rsp-nav .rsp-next { background: var(--e-global-color-primary, #287C85); color: #fff; border: 1px solid var(--e-global-color-primary, #287C85); }
.rsp-nav .elementor-button:disabled, .e-form__buttons .elementor-button:disabled { opacity: .6; cursor: wait; }
.rsp-invalid input, .rsp-invalid select { border-color: #c0392b !important; }
.elementor-message-success { margin: 8px 5px; padding: 14px 16px; font-size: 16px; line-height: 1.4; color: var(--e-global-color-primary, #287C85); }
@media (min-width: 768px) { .rsp-nav { justify-content: center; } .rsp-nav .elementor-button { flex: 0 1 auto; min-width: 140px; } }
html.rsp-modal-open [id^="gb-widget"] { display: none !important; }
