.elementor-kit-8{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* --- BLOQUE 1: ESTRUCTURA Y TEXTOS --- */

/* 1. Limpieza de estructura interna */
.wpcf7-form br {
    display: none;
}

.wpcf7-form p {
    margin-bottom: 22px; 
}

/* 2. Títulos de sección (H3) */
.wpcf7 h3 {
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #211c38 !important;
    margin-bottom: 35px !important;
    letter-spacing: -0.5px !important;
    border-left: 5px solid #9b51e0;
    padding-left: 15px !important;
    text-transform: none;
}

/* 3. Etiquetas y Microcopy */
.wpcf7-form label {
    display: block;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 8px; 
    font-size: 16px;
}

.wpcf7-form label.titulo-con-desc {
    margin-bottom: 2px; 
}

.wpcf7-form .descripcion-campo {
    display: block;
    font-size: 13px;
    color: #666666;
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: 12px;
}

/* --- BLOQUE 2: CAMPOS DE ENTRADA --- */

/* 1. Inputs y Textareas (Ancho total) */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    width: 100% !important;
    padding: 14px 16px !important;
    border: 1px solid #d1d1d1 !important;
    border-radius: 6px !important;
    background-color: #ffffff !important;
    font-size: 16px !important;
    color: #333333 !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease;
    font-family: inherit;
    display: block;
}

.wpcf7-form textarea {
    min-height: 100px;
}

/* 2. Selects (Ancho independiente - Original) */
.wpcf7-form select { 
    width: auto; 
    min-width: 280px; 
    padding: 14px 16px;
    border: 1px solid #d1d1d1;
    border-radius: 6px;
    background-color: #ffffff;
    font-size: 16px;
}

/* 3. Estados Focus y Placeholders */
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
    border-color: #9b51e0;
    outline: none;
    box-shadow: 0 0 0 3px rgba(155, 81, 224, 0.1);
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
    color: #b3b3b3; 
    font-weight: normal !important;
    opacity: 1;
}


/* --- BLOQUE 3: BOTONES --- */

/* 1. Contenedor de navegación */
.cf7mls-btns { 
    display: flex !important; 
    gap: 12px !important; 
    margin-top: 0px !important;
    margin-bottom:0 !important;
    float: none !important;
}

/* 2. Botones de pasos (Atrás y Siguiente iguales) */
.cf7mls_btn.action-button {
    background-color: #f0ebfa !important;
    color: #211c38 !important;
    padding: 12px 22px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: 1px solid #9653F1 !important;
    cursor: pointer;
    float: none !important;
    margin-left: 0 !important;
}

/* 3. Botón de Envío Final (#9653F1) */
.wpcf7-submit {
    background-color: #9653F1 !important; 
    color: #ffffff !important;
    font-weight: 700;
    font-size: 18px;
    width: auto !important;
    padding: 18px 40px !important;
    border-radius: 6px !important;
    text-transform: uppercase;
    border: none !important;
    cursor: pointer;
    margin-top: 10px !important;
    margin-left: 0 !important;
    margin-bottom: 0 !important;
    float: none !important; 
    display: block !important;
    box-shadow: 0 4px 12px rgba(150, 83, 241, 0.3);
    transition: all 0.3s ease;
}

.wpcf7-submit:hover {
    background-color: #7d3dbd !important;
    transform: translateY(-2px);
}

/* --- BLOQUE 4: ERRORES Y ALERTAS --- */

/* 1. Mensajes de error debajo de cada campo */
.wpcf7-not-valid-tip {
    color: #d93025 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    margin-top: 5px;
    display: block;
}
/* 2. Caja de respuesta global (Estilos base) */
.wpcf7-response-output {
    border-radius: 6px !important;
    margin-top: 15px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    border: 1px solid transparent !important;
    margin-left: 0 !important;
}

/* Forzar los colores de error y anular el 'border: none' del plugin */
.wpcf7 .wpcf7-response-output.wpcf7-validation-errors,
.wpcf7 .fieldset-cf7mls-wrapper div.wpcf7-validation-errors {
    border: 1px solid #d93025 !important;
    background-color: #fff2f2 !important;
    color: #d93025 !important;
    
    /* Reafirmamos la estructura base por si el plugin la rompe */
    border-radius: 6px !important;
    padding: 12px 16px !important;
    margin-top: 15px !important;
}


/* 3. Estado: Error o Aceptación faltante (Rojo) */
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #d93025 !important;
    color: #d93025 !important;
    background-color: #fff2f2 !important;
}

/* 4. Estado: Envío exitoso (Verde) */
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #0d9488 !important;
    color: #0d9488 !important;
    background-color: #f0fdfa !important;
}

/* --- BLOQUE 5: CAJA DE CONTRATO Y PASOS --- */

/* 1. Caja de términos / contrato */
.caja-contrato {
    background-color: #f8f9fa;
    border: 1px solid #e2e2e2;
    padding: 16px;
    border-radius: 6px;
    margin-top: 25px;
    margin-bottom: 15px;
}


/* 3. Checkbox Optimizado para Móvil y Desktop */
.wpcf7-list-item {
    margin-left: 0 !important;
    display: inline-block;
}

.wpcf7-acceptance label {
    display: flex !important;
    align-items: flex-start !important; /* Mantiene el checkbox arriba si el texto tiene varias líneas */
    font-weight: 400 !important;
    font-size: 12px !important; 
    color: #777777 !important;  /* Mantiene el texto discreto */
    line-height: 1.5 !important;
    cursor: pointer;
}

.wpcf7-acceptance input {
    /* Eliminamos el scale pequeño y damos dimensiones reales */
    min-width: 18px !important;
    min-height: 18px !important;
    margin-top: 2px !important; /* Ajuste para que quede centrado con la primera línea de texto */
    margin-right: 12px !important;
    cursor: pointer;
    
    /* Esto asegura que en móviles se vea lo suficientemente grande */
    transform: scale(1.25) !important; 
    -webkit-transform: scale(1.25) !important;
}
/* 4. Enlace dentro del checkbox (Azul y Subrayado) */
.wpcf7-acceptance label a {
    color: #2563eb !important; /* Azul profesional de enlace activo */
    text-decoration: underline !important; /* Subrayado obligatorio */
    text-underline-offset: 2px; /* Separa un poco la línea del texto para que sea más legible */
    font-weight: 500 !important;
    transition: color 0.2s ease;
}

/* Efecto al pasar el mouse para que se sienta vivo */
.wpcf7-acceptance label a:hover {
    color: #1d4ed8 !important; /* Azul un poco más oscuro al pasar el cursor */
    text-decoration: underline !important;
}/* End custom CSS */