.elementor-896 .elementor-element.elementor-element-4eae642{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:60px;--padding-left:10px;--padding-right:10px;}.elementor-896 .elementor-element.elementor-element-4eae642:not(.elementor-motion-effects-element-type-background), .elementor-896 .elementor-element.elementor-element-4eae642 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F1F0EC;}.elementor-896 .elementor-element.elementor-element-d3dc5e0{--display:flex;--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-896 .elementor-element.elementor-element-1936737{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-896 .elementor-element.elementor-element-b4ae3db .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:57px;font-weight:700;line-height:56px;color:#171616;}.elementor-896 .elementor-element.elementor-element-319964f{--display:flex;--padding-top:30px;--padding-bottom:0px;--padding-left:10px;--padding-right:0px;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-896 .elementor-element.elementor-element-923ea23 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-bottom:calc(14px/2);}.elementor-896 .elementor-element.elementor-element-923ea23 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-top:calc(14px/2);}.elementor-896 .elementor-element.elementor-element-923ea23 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:calc(14px/2);margin-left:calc(14px/2);}.elementor-896 .elementor-element.elementor-element-923ea23 .elementor-icon-list-items.elementor-inline-items{margin-right:calc(-14px/2);margin-left:calc(-14px/2);}body.rtl .elementor-896 .elementor-element.elementor-element-923ea23 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{left:calc(-14px/2);}body:not(.rtl) .elementor-896 .elementor-element.elementor-element-923ea23 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{right:calc(-14px/2);}.elementor-896 .elementor-element.elementor-element-923ea23 .elementor-icon-list-icon i{color:#DD3333;transition:color 0.3s;}.elementor-896 .elementor-element.elementor-element-923ea23 .elementor-icon-list-icon svg{fill:#DD3333;transition:fill 0.3s;}.elementor-896 .elementor-element.elementor-element-923ea23{--e-icon-list-icon-size:21px;--icon-vertical-offset:0px;}.elementor-896 .elementor-element.elementor-element-923ea23 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-896 .elementor-element.elementor-element-923ea23 .elementor-icon-list-item > a{font-family:"DM Sans", Sans-serif;font-size:17px;font-weight:400;line-height:28px;}.elementor-896 .elementor-element.elementor-element-923ea23 .elementor-icon-list-text{color:#333333;transition:color 0.3s;}.elementor-896 .elementor-element.elementor-element-3bd2654{--display:flex;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-896 .elementor-element.elementor-element-43a4cb4{--display:flex;}.elementor-896 .elementor-element.elementor-element-5ba4a5c{--display:flex;--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-896 .elementor-element.elementor-element-ac76023{width:100%;max-width:100%;}.elementor-896 .elementor-element.elementor-element-ac76023 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-896 .elementor-element.elementor-element-ac76023 iframe{height:503px;}.elementor-896 .elementor-element.elementor-element-e4019ba{--display:flex;--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-896 .elementor-element.elementor-element-e4019ba:not(.elementor-motion-effects-element-type-background), .elementor-896 .elementor-element.elementor-element-e4019ba > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F1F0EC;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-896 .elementor-element.elementor-element-45b81d4 > .elementor-widget-container{padding:56px 100px 0px 10px;}.elementor-896 .elementor-element.elementor-element-45b81d4{font-family:"DM Sans", Sans-serif;font-size:18px;font-weight:500;color:#333333;}.elementor-896 .elementor-element.elementor-element-e4be2a8{--e-image-carousel-slides-to-show:8;}.elementor-896 .elementor-element.elementor-element-e4be2a8 > .elementor-widget-container{padding:0px 10px 0px 10px;}@media(max-width:767px){.elementor-896 .elementor-element.elementor-element-b4ae3db > .elementor-widget-container{padding:0px 10px 0px 10px;}.elementor-896 .elementor-element.elementor-element-b4ae3db{text-align:left;}.elementor-896 .elementor-element.elementor-element-b4ae3db .elementor-heading-title{font-size:42px;}.elementor-896 .elementor-element.elementor-element-923ea23{--icon-vertical-align:flex-start;}.elementor-896 .elementor-element.elementor-element-45b81d4 > .elementor-widget-container{padding:56px 10px 0px 10px;}.elementor-896 .elementor-element.elementor-element-45b81d4{text-align:center;font-size:18px;}}@media(min-width:768px){.elementor-896 .elementor-element.elementor-element-d3dc5e0{--width:50%;}.elementor-896 .elementor-element.elementor-element-3bd2654{--width:50%;}}/* Start custom CSS for shortcode, class: .elementor-element-c5d7d99 *//* Estilos generales del contenedor principal del formulario de CF7 */
.wpcf7 {
    padding: 30px; /* Un poco más de padding alrededor del formulario */
    background-color: #f7f7f7; /* Un gris muy claro de fondo para el contenedor */
    border-radius: 10px; /* Bordes más redondeados */
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1); /* Sombra más pronunciada para profundidad */
    max-width: 700px; /* Ancho máximo para el formulario */
    margin: 50px auto; /* Centra el formulario en la página con más margen vertical */
    box-sizing: border-box; /* Asegura que el padding no aumente el ancho total */
    font-family: 'Arial', sans-serif; /* Fuente general, puedes cambiarla */
}

/* Flexbox para el formulario, para organizar los grupos de campos */
.wpcf7 form.wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 5px; /* Espacio entre los principales grupos de campos */
}

/* Contenedores personalizados para organizar campos en dos columnas */
.grupo-formulario {
    display: flex;
    flex-wrap: wrap; /* Permite que los campos se envuelvan en pantallas pequeñas */
    gap: 10px; /* Espacio entre columnas (campos) */
    width: 100%; /* Asegura que el grupo ocupe todo el ancho disponible */
}

/* Cada campo de entrada con su ícono */
.contenedor-entrada {
    position: relative;
    display: flex;
    align-items: flex-end; /* Alinea el ícono con la parte inferior del campo */
    border-bottom: 2px solid #dd3333; /* Borde inferior más grueso y suave */
    padding-bottom: 10px; /* Espacio entre el campo y el borde */
    flex: 1; /* Permite que los campos en dos columnas ocupen el espacio disponible */
    min-width: 250px; /* Ancho mínimo para cada campo */
}

.contenedor-entrada .icono {
    font-size: 20px; /* Íconos un poco más grandes */
    color: #DD3333; /* Color gris oscuro para los íconos */
    margin-right: 15px; /* Espacio entre el ícono y el campo */
    min-width: 25px; /* Ancho consistente para los íconos */
    text-align: center;
    line-height: 1; /* Mejora la alineación vertical del ícono */
}

/* Estilo para todos los campos de texto y email de Contact Form 7 */
.wpcf7 input.wpcf7-form-control.wpcf7-text,
.wpcf7 input.wpcf7-form-control.wpcf7-email,
.wpcf7 textarea.wpcf7-form-control.wpcf7-textarea {
    flex-grow: 1; /* Ocupa el espacio restante */
    border: none; /* Elimina el borde por defecto */
    outline: none; /* Elimina el contorno al enfocar */
    padding: 8px 0; /* Relleno vertical, sin horizontal */
    font-size: 17px; /* Fuente un poco más grande */
    color: #333; /* Color de texto oscuro */
    background-color: transparent; /* Fondo transparente */
    box-shadow: none; /* Quita posibles sombras por defecto de CF7 */
    -webkit-appearance: none; /* Para limpiar estilos por defecto en algunos navegadores */
    -moz-appearance: none;
    appearance: none;
    line-height: 1.5; /* Altura de línea para mejor legibilidad */
}

.wpcf7 input.wpcf7-form-control::placeholder,
.wpcf7 textarea.wpcf7-form-control::placeholder {
    color: #aaa; /* Texto de marcador de posición más claro */
    font-size: 17px;
    opacity: 1; /* Asegura que el marcador de posición sea visible */
}

/* Estado de enfoque para los campos */
.contenedor-entrada:focus-within { /* Usa :focus-within para cambiar el estilo del contenedor */
    border-color: #007bff; /* Un azul para el borde al enfocar */
}

/* Estilo específico para el textarea del mensaje */
.grupo-mensaje .contenedor-entrada {
    border-bottom: 2px solid #dd3333; /* Mantiene el borde inferior */
    padding-bottom: 15px; /* Más padding para el textarea */
    align-items: flex-start; /* Alinea el ícono a la parte superior del textarea */
}

.grupo-mensaje .wpcf7-textarea {
    min-height: 150px; /* Hace el textarea más alto */
    resize: vertical; /* Permite solo redimensionamiento vertical */
    padding-top: 10px; /* Ajusta el relleno para el texto dentro del textarea */
}

/* Grupo de casilla de verificación de privacidad */
.grupo-acuerdo {
    display: flex;
    align-items: center;
    gap: 12px; /* Espacio entre la casilla y el texto */
    margin-top: 15px;
    font-size: 15px;
    color: #555;
}

.grupo-acuerdo .wpcf7-acceptance input[type="checkbox"] {
    width: 20px; /* Tamaño del checkbox */
    height: 20px;
    cursor: pointer;
    border: 1px solid #ccc; /* Borde del checkbox */
    border-radius: 3px; /* Ligeramente redondeado */
    -webkit-appearance: checkbox; /* Asegura que se vea como un checkbox estándar */
    -moz-appearance: checkbox;
    appearance: checkbox;
}

/* ENLACE DE POLÍTICA DE PRIVACIDAD - COLOR ACTUALIZADO */
.grupo-acuerdo .enlace-privacidad {
    color: #DD3333; /* ¡NUEVO COLOR! Rojo oscuro */
    text-decoration: none;
    font-weight: 500;
}

.grupo-acuerdo .enlace-privacidad:hover {
    text-decoration: underline;
}

/* Botón de envío - COLOR ACTUALIZADO */
.wpcf7 .boton-enviar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 30px; /* Más padding para el botón */
    background-color: #DD3333; /* ¡NUEVO COLOR! Rojo oscuro */
    color: #FFFFFF; /* GRIS OSCURO para las letras */
    border: none;
    border-radius: 5px; /* Bordes ligeramente redondeados */
    font-size: 15px; /* Fuente del botón un poco más grande */
    font-weight: 700; /* Texto del botón más grueso */
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease; /* Transición suave al pasar el ratón */
    width: fit-content; /* El botón solo ocupa el ancho de su contenido */
    margin: 25px auto 0; /* Centra el botón y le da margen superior */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Sombra sutil para el botón */
}

.wpcf7 .boton-enviar:hover {
    background-color: #BB2222; /* Un rojo ligeramente más oscuro para el hover */
    transform: translateY(-2px); /* Pequeño efecto de elevación al pasar el ratón */
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15); /* Sombra más pronunciada al pasar el ratón */
}

/* Ícono del botón de enviar (usando pseudoelemento ::before) */
.wpcf7 .boton-enviar::before {
    font-family: "Font Awesome 6 Free"; /* Ajusta si usas una versión diferente, ej: "Font Awesome 5 Free" */
    content: "\f1d8"; /* Unicode para el ícono fa-paper-plane (avión de papel) */
    font-weight: 900; /* Para el estilo 'solid' del ícono */
    margin-right: 10px;
    font-size: 20px; /* Tamaño del ícono del botón */
}

/* Mensajes de validación y éxito de Contact Form 7 */
div.wpcf7-response-output {
    margin-top: 20px;
    padding: 15px;
    border-radius: 5px;
    font-size: 15px;
    text-align: center;
    border: 1px solid transparent; /* Base transparente */
}

/* Mensaje de error (rojo) */
div.wpcf7-response-output.wpcf7-validation-errors {
    background-color: #f8d7da; /* Fondo rojo claro */
    color: #721c24; /* Texto rojo oscuro */
    border-color: #f5c6cb;
}

/* Mensaje de éxito (verde) */
div.wpcf7-response-output.wpcf7-mail-sent-ok {
    background-color: #d4edda; /* Fondo verde claro */
    color: #155724; /* Texto verde oscuro */
    border-color: #c3e6cb;
}


/* Ajustes responsivos */
@media (max-width: 768px) {
    .wpcf7 {
        padding: 20px; /* Menos padding en pantallas pequeñas */
        margin: 30px auto;
    }

    .grupo-formulario.dos-columnas {
        flex-direction: column; /* Apila las columnas en pantallas más pequeñas */
        gap: 25px; /* Menos espacio entre campos apilados */
    }

    .grupo-formulario.dos-columnas .contenedor-entrada {
        min-width: unset; /* Elimina el ancho mínimo para que se ajuste */
    }

    .wpcf7 input.wpcf7-form-control,
    .wpcf7 textarea.wpcf7-form-control {
        font-size: 16px; /* Fuentes un poco más pequeñas en móviles */
    }

    .contenedor-entrada .icono {
        font-size: 18px; /* Íconos un poco más pequeños en móviles */
    }

    .wpcf7 .boton-enviar {
        width: 100%; /* Botón de ancho completo en móviles */
        padding: 12px 20px;
        font-size: 16px;
    }

    .wpcf7 .boton-enviar::before {
        font-size: 18px;
    }
}/* End custom CSS */