.elementor-740 .elementor-element.elementor-element-732e40e8{--display:flex;--min-height:40vh;--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;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:150px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-740 .elementor-element.elementor-element-732e40e8:not(.elementor-motion-effects-element-type-background), .elementor-740 .elementor-element.elementor-element-732e40e8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:radial-gradient(at top center, #FFFFFF00 0%, #8000FF33 60%);}.elementor-740 .elementor-element.elementor-element-af2dc76{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 19px 0px;text-align:center;}.elementor-740 .elementor-element.elementor-element-af2dc76 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:50px;font-weight:600;line-height:60px;}.elementor-740 .elementor-element.elementor-element-388ee8cf{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 20px 0px;text-align:center;font-family:"Inter", Sans-serif;font-size:20px;font-weight:400;color:var( --e-global-color-text );}.elementor-740 .elementor-element.elementor-element-316c617d{--display:flex;--min-height:100vh;--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;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--padding-top:50px;--padding-bottom:120px;--padding-left:0px;--padding-right:0px;}.elementor-740 .elementor-element.elementor-element-11b53328{background-color:transparent;background-image:radial-gradient(at center center, #5B0CFF9E 0%, #F2295B00 50%);}.elementor-740 .elementor-element.elementor-element-11b53328.elementor-element{--align-self:center;}.elementor-740 .elementor-element.elementor-element-11b53328 img{filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-740 .elementor-element.elementor-element-59f7880{background-color:var( --e-global-color-secondary );padding:50px 30px 50px 30px;border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-e0020c9 );border-radius:30px 30px 30px 30px;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:20px;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-20px;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-740 .elementor-element.elementor-element-59f7880 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-740 .elementor-element.elementor-element-59f7880 .elementor-labels-inline .elementor-field-group > label{padding-left:10px;}body:not(.rtl) .elementor-740 .elementor-element.elementor-element-59f7880 .elementor-labels-inline .elementor-field-group > label{padding-right:10px;}body .elementor-740 .elementor-element.elementor-element-59f7880 .elementor-labels-above .elementor-field-group > label{padding-bottom:10px;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-field-group > label, .elementor-740 .elementor-element.elementor-element-59f7880 .elementor-field-subgroup label{color:#FFFFFF;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-mark-required .elementor-field-label:after{color:#A073FF;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-field-group > label{font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-field-type-html{padding-bottom:0px;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-field-group .elementor-field{color:#FFFFFF;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-field-group .elementor-field, .elementor-740 .elementor-element.elementor-element-59f7880 .elementor-field-subgroup label{font-family:"Inter", Sans-serif;font-size:15px;font-weight:400;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:var( --e-global-color-secondary );border-color:#2E2E2E;border-width:2px 2px 2px 2px;border-radius:10px 10px 10px 10px;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-field-group .elementor-select-wrapper select{background-color:var( --e-global-color-secondary );border-color:#2E2E2E;border-width:2px 2px 2px 2px;border-radius:10px 10px 10px 10px;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-field-group .elementor-select-wrapper::before{color:#2E2E2E;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-button{font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;border-style:solid;border-width:1px 1px 1px 1px;border-radius:500px 500px 500px 500px;padding:15px 15px 15px 15px;}.elementor-740 .elementor-element.elementor-element-59f7880 .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-e0020c9 );color:#ffffff;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-e0020c9 );color:#ffffff;}.elementor-740 .elementor-element.elementor-element-59f7880 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-740 .elementor-element.elementor-element-59f7880 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-740 .elementor-element.elementor-element-f33b5d7{margin:40px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 19px 0px;text-align:center;}.elementor-740 .elementor-element.elementor-element-f33b5d7 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:25px;font-weight:500;line-height:45px;}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(50px/2);}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(50px/2);}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(50px/2);}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-50px/2);}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-50px/2);}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-item:hover .elementor-icon-list-icon i{color:var( --e-global-color-e0020c9 );}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-item:hover .elementor-icon-list-icon svg{fill:var( --e-global-color-e0020c9 );}.elementor-740 .elementor-element.elementor-element-e9c5d1b{--e-icon-list-icon-size:20px;--icon-vertical-align:center;--icon-vertical-offset:0px;}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-item > .elementor-icon-list-text, .elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-item > a{font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-item:hover .elementor-icon-list-text{color:var( --e-global-color-bc1381d );}.elementor-740 .elementor-element.elementor-element-3967d998{margin:40px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 19px 0px;text-align:center;}.elementor-740 .elementor-element.elementor-element-3967d998 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:40px;font-weight:600;line-height:45px;}.elementor-740 .elementor-element.elementor-element-b52d2d0{padding:0px 200px 30px 200px;text-align:center;}.elementor-740 .elementor-element.elementor-element-b52d2d0 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:16px;font-weight:300;line-height:22px;color:var( --e-global-color-text );}.elementor-740 .elementor-element.elementor-element-1a054c87{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 50px 0px;}@media(max-width:1024px){.elementor-740 .elementor-element.elementor-element-732e40e8{--padding-top:150px;--padding-bottom:100px;--padding-left:30px;--padding-right:30px;}.elementor-740 .elementor-element.elementor-element-af2dc76{padding:0px 0px 30px 0px;}.elementor-740 .elementor-element.elementor-element-af2dc76 .elementor-heading-title{font-size:50px;line-height:1em;}.elementor-740 .elementor-element.elementor-element-388ee8cf{padding:0px 0px 20px 0px;font-size:20px;}.elementor-740 .elementor-element.elementor-element-316c617d{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-740 .elementor-element.elementor-element-f33b5d7{padding:0px 0px 30px 0px;}.elementor-740 .elementor-element.elementor-element-f33b5d7 .elementor-heading-title{font-size:40px;line-height:1em;}.elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-item > .elementor-icon-list-text, .elementor-740 .elementor-element.elementor-element-e9c5d1b .elementor-icon-list-item > a{font-size:16px;}.elementor-740 .elementor-element.elementor-element-3967d998{padding:0px 0px 30px 0px;}.elementor-740 .elementor-element.elementor-element-3967d998 .elementor-heading-title{font-size:40px;line-height:1em;}.elementor-740 .elementor-element.elementor-element-b52d2d0{padding:0px 100px 20px 100px;}}@media(max-width:767px){.elementor-740 .elementor-element.elementor-element-732e40e8{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:100px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-740 .elementor-element.elementor-element-af2dc76 .elementor-heading-title{font-size:30px;}.elementor-740 .elementor-element.elementor-element-388ee8cf{font-size:16px;}.elementor-740 .elementor-element.elementor-element-f33b5d7 .elementor-heading-title{font-size:30px;}.elementor-740 .elementor-element.elementor-element-3967d998 .elementor-heading-title{font-size:25px;}.elementor-740 .elementor-element.elementor-element-b52d2d0{padding:0px 0px 20px 0px;}.elementor-740 .elementor-element.elementor-element-1a054c87{padding:0px 0px 30px 0px;}}/* Start custom CSS for form, class: .elementor-element-59f7880 *//* Estilos para el botón de ENVÍO del formulario con ID 59f7880 */
.elementor-element-59f7880 .elementor-button[type="submit"] {
    /* Fondo base: Adaptado de var(--black-700) del .button::before */
    background-color: hsla(0, 0%, 12%, 1) !important; /* Un gris oscuro casi negro */
    
    /* Color del texto: Siempre blanco, como en .text_button */
    color: #FFFFFF !important;
    
    /* Sin borde */
    border: none !important;
    
    /* Redondeado de esquinas: Adaptado de var(--border_radius) */
    border-radius: 500px !important; /* O un valor fijo como 50px si prefieres */
    
    /* Relleno interno: Adaptado de .button padding */
    padding: 1rem 2rem !important;
    
    /* Tamaño y peso de fuente: Adaptado de .text_button */
    font-size: 1rem !important;
    font-weight: 500 !important; /* Usar 'bold' o '700' para asegurar el grosor */
    
    cursor: pointer;
    
    /* Sombra del estado normal: Adaptado del box-shadow del .button::before */
    box-shadow: inset 0 0.5px hsl(0, 0%, 100%),
                inset 0 -1px 2px 0 hsla(0, 0%, 0%, 0.5), /* Ajusté opacidad para simplicidad */
                0px 4px 10px -4px hsla(0, 0%, 0%, 0.5); /* Sin la parte condicional de --active */

    /* Transición suave para el fondo y la sombra al hacer hover */
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    
    /* Aseguramos que no haya transformaciones o efectos 3D por defecto */
    transform: none !important;
}

/* Estilos al pasar el ratón (HOVER) */
.elementor-element-59f7880 .elementor-button[type="submit"]:hover {
    /* Fondo morado con los gradientes radiales del .button::after */
    background-color: hsla(260, 97%, 61%, 0.75) !important; /* Color base del morado del hover */
    background-image: radial-gradient(
        at 51% 89%,
        hsla(266, 45%, 74%, 1) 0px,
        transparent 50%
    ),
    radial-gradient(at 100% 100%, hsla(266, 36%, 60%, 1) 0px, transparent 50%),
    radial-gradient(at 22% 91%, hsla(266, 36%, 60%, 1) 0px, transparent 50%) !important;
    background-position: top !important; /* Mantiene la posición del gradiente */
    background-size: 100% 100% !important; /* Asegura que el gradiente cubra todo el botón */

    color: #FFFFFF !important; /* El texto debe seguir blanco al hover */
    
    /* Sombra del hover: Adaptado de la parte condicional del box-shadow del .button::before */
    box-shadow: inset 0 0.5px hsl(0, 0%, 100%),
                inset 0 -1px 2px 0 hsla(0, 0%, 0%, 0.5),
                0px 4px 10px -4px hsla(0, 0%, 0%, 0.5), /* La sombra general */
                0 0 0 0.2rem hsla(260, 97%, 50%, 0.75) !important; /* La sombra morada exterior */

    /* Aseguramos que no haya transformaciones en el hover para mantenerlo simple */
    transform: none !important;
}

/* Estilos al hacer clic (ACTIVE) */
.elementor-element-59f7880 .elementor-button[type="submit"]:active {
    /* Puedes ajustar a un morado ligeramente más oscuro si lo deseas, o mantener el hover */
    background-color: hsla(260, 97%, 50%, 0.75) !important;
    background-image: none !important; /* Para que al hacer clic se vea un color sólido */
    box-shadow: 0px 0px 17px -7px #976cff !important; /* Sombra del :active original */
    transform: none !important; /* Elimina cualquier transformación de escala */
}

/* Opcional: Asegurarse de que el texto dentro del botón siempre sea blanco */
/* (El texto en tu HTML está dentro de un span con clase elementor-button-text) */
.elementor-element-59f7880 .elementor-button[type="submit"] span.elementor-button-text {
    color: #FFFFFF !important;
    /* Si el texto original tenía un gradiente (background-clip: text), es más complejo replicarlo solo con CSS aquí */
    /* Para simplificar, nos aseguramos de que siempre sea blanco sólido. */
}

/* ============================================== */
/* --- ESTILOS GENERALES PARA ESTE FORMULARIO --- */
/* ============================================== */

/* Asegura que los textos de los labels sean claros */
.elementor-element-59f7880 .elementor-field-label {
    color: #FFFFFF; /* Texto blanco para todos los labels de campos */
    font-size: 16px;
    margin-bottom: 8px; /* Espacio debajo del label */
}

/* ============================================== */
/* --- ESTILOS PARA CHECKBOXES DE SERVICIOS --- */
/* ============================================== */

/* Contenedor de cada opción de checkbox (input + label de la opción) */
.elementor-element-59f7880 .elementor-field-type-checkbox .elementor-field-option {
    display: flex; /* Usa flexbox para alinear el input y el texto */
    align-items: center; /* Centra verticalmente el input con el texto */
    gap: 10px; /* Espacio entre el checkbox y su texto */
    margin-bottom: 8px; /* Espacio entre las diferentes opciones de servicio */
}

/* Estilos para el texto de cada opción de servicio */
.elementor-element-59f7880 .elementor-field-type-checkbox .elementor-field-option label {
    color: #f0f0f0; /* Color del texto de las opciones, un gris claro */
    font-size: 16px; /* Tamaño de fuente del texto de la opción */
    cursor: pointer;
    margin: 0; /* Elimina márgenes por defecto del label anidado */
    line-height: 1.4; /* Mejora la legibilidad */
}

/* Estilos del input checkbox de los servicios (la casilla cuadrada) */
.elementor-element-59f7880 .elementor-field-type-checkbox input[type="checkbox"] {
    -webkit-appearance: none; /* Elimina estilos por defecto de navegador */
    -moz-appearance: none;
    appearance: none;
    
    width: 20px;   /* Tamaño del cuadrado */
    height: 20px;  /* Tamaño del cuadrado */
    border: 2px solid #5a5a5a; /* Borde gris oscuro */
    border-radius: 4px; /* Esquinas ligeramente redondeadas */
    background-color: transparent; /* Fondo transparente */
    cursor: pointer;
    margin: 0; /* Asegura que no haya margen externo */
    flex-shrink: 0; /* Previene que la casilla se encoja */
    transition: background-color 0.2s ease, border-color 0.2s ease;
    position: relative; /* Necesario para posicionar el tick */
}

/* Estilos del checkbox de servicios cuando está marcado */
.elementor-element-59f7880 .elementor-field-type-checkbox input[type="checkbox"]:checked {
    background-color: #8A2BE2; /* Fondo morado al marcar */
    border-color: #8A2BE2;     /* Borde morado al marcar */
}

/* Estilo del "Tick" o Marca de verificación dentro del checkbox de servicios */
.elementor-element-59f7880 .elementor-field-type-checkbox input[type="checkbox"]:checked::before {
    content: ""; /* Carácter de tick Unicode */
    display: block;
    color: #1A1A1A !important; /* <--- AQUÍ: ¡Usamos !important para forzar el blanco! */
    font-size: 15px; /* Tamaño del tick */
    text-align: center;
    line-height: 18px; /* Centra verticalmente el tick dentro del cuadrado de 20px */
}

/* Estilo al pasar el ratón (hover) sobre los checkboxes de servicios */
.elementor-element-59f7880 .elementor-field-type-checkbox input[type="checkbox"]:hover {
    border-color: #A055EE; /* Un morado más claro en el borde al hacer hover */
}

/* ============================================== */
/* --- ESTILOS PARA CHECKBOX DE ACEPTACIÓN --- */
/* ============================================== */

/* El label principal que contiene todo el texto, incluida la política de privacidad */
.elementor-element-59f7880 .elementor-field-type-acceptance .elementor-field-label {
    display: flex; /* Usa flexbox para alinear el input Y el texto */
    align-items: flex-start; /* Alinea los elementos al inicio (arriba) */
    color: #f0f0f0; /* Color del texto del label de aceptación */
    font-size: 16px;
    margin-bottom: 0; /* Elimina margen inferior extra */
    line-height: 1.4; /* Mejora la legibilidad del texto largo */
    cursor: pointer;
    width: 100%; /* Asegura que ocupe todo el ancho */
    flex-wrap: wrap; /* <--- IMPORTANTE: Permite que los elementos se envuelvan a la siguiente línea si no caben */
}

/* El contenedor del input checkbox real, que Elementor coloca DESPUÉS del texto en el DOM,
   pero que queremos mover visualmente al PRINCIPIO del label principal. */
.elementor-element-59f7880 .elementor-field-type-acceptance .elementor-field-subgroup {
    order: -1; /* Mueve el contenedor del input al principio del flex container del label */
    margin-right: 8px; /* Espacio entre el checkbox y el texto */
    /* Estas propiedades ya estaban, pero las confirmo para asegurar el flex en el subgroup */
    display: flex;
    align-items: center;
    flex-shrink: 0;
    /* Eliminar el margin-left que causaba un espacio extra aquí */
    margin-left: 0 !important; /* <--- Asegura que no haya margen izquierdo inesperado */
}

/* Estilos del input checkbox de aceptación (la casilla cuadrada) */
.elementor-element-59f7880 .elementor-field-type-acceptance input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    
    width: 20px;
    height: 20px;
    border: 2px solid #5a5a5a;
    border-radius: 100px;
    background-color: #ffffff !important;
    cursor: pointer;
    margin: 0;
    flex-shrink: 0;
    transition: background-color 0.2s ease, border-color 0.2s ease;
    position: relative; /* Necesario para posicionar el tick */
}

/* Estilo del "Tick" o Marca de verificación dentro del checkbox de aceptación */
.elementor-element-59f7880 .elementor-field-type-acceptance input[type="checkbox"]:checked::after {
    content: "1"; /* Carácter de tick Unicode */
    background: #8A2BE2;
    display: block;
    color: #8A2BE2 !important; /* block AQUÍ: ¡Usamos !important para forzar el blanco! */
    width: 16px;
    height: 16px;
    border-radius: 100px;
    font-size: 16px;
    text-align: center;
    line-height: 18px; /* Centra verticalmente el tick */
}

/* Estilo al pasar el ratón (hover) sobre el checkbox de aceptación */
.elementor-element-59f7880 .elementor-field-type-acceptance input[type="checkbox"]:hover {
    border-color: #1A1A1A; /* Un morado más claro en el borde al hacer hover */
}

/* ============================================== */
/* --- ESTILOS PARA EL ENLACE DE LA POLÍTICA --- */
/* ============================================== */

.elementor-element-59f7880 .elementor-field-type-acceptance .elementor-field-label a {
    color: #8A2BE2; /* Color morado para el enlace */
    text-decoration: none; /* Quita el subrayado por defecto */
    transition: all 0.3s ease; /* Transición suave para el hover */
}

.elementor-element-59f7880 .elementor-field-type-acceptance .elementor-field-label a:hover {
    color: #6A1BA0; /* Morado más oscuro al pasar el ratón */
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Inter';
	font-display: auto;
	src: url('https://prototipo.agenciapanoramic.com/wp-content/uploads/2025/06/Inter-VariableFont_opszwght.ttf') format('truetype');
}
/* End Custom Fonts CSS */