.elementor-2640 .elementor-element.elementor-element-c36bee7{--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;}.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-2640 .elementor-element.elementor-element-740505b{text-align:center;}.elementor-2640 .elementor-element.elementor-element-740505b .elementor-heading-title{color:var( --e-global-color-76df1a6 );}.elementor-2640 .elementor-element.elementor-element-431cd6a{text-align:center;}.elementor-2640 .elementor-element.elementor-element-431cd6a .elementor-heading-title{font-family:"Oswald", Sans-serif;font-weight:400;color:var( --e-global-color-e7dce6f );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2640 .elementor-element.elementor-element-7511e00 .elementor-button{background-color:#444444;}.elementor-2640 .elementor-element.elementor-element-36483e1{--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;}/* Start custom CSS for button, class: .elementor-element-7511e00 *//* --- Contenedor Principal --- */
.contact-form-style-2 {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Dos columnas balanceadas */
    gap: 25px; /* Espaciado amplio y moderno que respira */
    background-color: #F7F7F7; /* Tu fondo gris muy claro */
    padding: 40px;
    border-radius: 12px; /* Bordes suaves y modernos */
    color: #34639A; /* Texto en tu azul oscuro */
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* --- Reseteo de márgenes y anchos por defecto --- */
.contact-form-style-2 > p, 
.contact-form-style-2 > div,
.contact-form-style-2 > details {
    margin-bottom: 0;
    grid-column: 1 / -1; /* Ocupan el 100% por defecto */
}

/* --- Distribuir en 2 columnas los inputs cortos --- */
.contact-form-style-2 > p:has(input[name="your-name"]),
.contact-form-style-2 > p:has(input[name="apellido"]),
.contact-form-style-2 > p:has(input[name="your-email"]),
.contact-form-style-2 > p:has(input[name="dni"]),
.contact-form-style-2 > p:has(input[name="phone"]),
.contact-form-style-2 > p:has(input[name="codigopostal"]),
.contact-form-style-2 > p:has(input[name="ciudad"]),
.contact-form-style-2 > p:has(input[name="provincia"]),
.contact-form-style-2 > p:has(input[name="pais"]) {
    grid-column: span 1; /* Ocupan la mitad */
}

/* --- Estilos limpios para los campos de texto --- */
.contact-form-style-2 input[type="text"],
.contact-form-style-2 input[type="email"],
.contact-form-style-2 input[type="tel"],
.contact-form-style-2 input[type="file"] {
    width: 100%;
    display: block;
    box-sizing: border-box;
    margin-top: 8px; /* Separación sutil del texto */
    padding: 14px;
    background-color: #ffffff;
    border: 1px solid #dcdcdc; /* Borde gris muy suave inicial */
    border-radius: 8px;
    color: #34639A;
    font-size: 15px;
    transition: all 0.3s ease;
}

/* --- Efecto Focus (Cuando el usuario hace clic o escribe) --- */
.contact-form-style-2 input:focus {
    border-color: #0D6EFD; /* Tu azul primario brillante */
    background-color: #E7F1FB; /* Tu azul pastel de fondo */
    outline: none;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.15); /* Halo suave moderno */
}

/* --- Enlaces dentro del formulario --- */
.contact-form-style-2 a {
    color: #0D6EFD;
    text-decoration: none;
    font-weight: 500;
}
.contact-form-style-2 a:hover {
    color: #34639A;
    text-decoration: underline;
}

/* --- Checkboxes y Sección de Acordeón --- */
.contact-form-style-2 input[type="checkbox"] {
    accent-color: #0D6EFD; /* Checkbox en azul primario */
    transform: scale(1.1);
    margin-right: 8px;
    cursor: pointer;
}

.contact-form-style-2 details.accordion {
    background-color: #ffffff;
    border: 1px solid #E7F1FB;
    padding: 20px;
    border-radius: 8px;
    margin-top: 15px;
}

.contact-form-style-2 details summary {
    color: #34639A;
    font-weight: bold;
    cursor: pointer;
}

/* --- Botón de Envío --- */
.contact-form-style-2 p:has(input[type="submit"]) {
    text-align: center;
    margin-top: 30px;
}

.contact-form-style-2 .btn {
    background-color: #0D6EFD; /* Azul vibrante */
    color: #ffffff;
    padding: 15px 45px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(13, 110, 253, 0.2);
}

.contact-form-style-2 .btn:hover {
    background-color: #34639A; /* Azul oscuro al pasar el ratón */
    transform: translateY(-2px); /* Pequeña animación hacia arriba */
    box-shadow: 0 6px 15px rgba(52, 99, 154, 0.3);
}

/* --- Diseño Responsive para Móviles --- */
@media (max-width: 768px) {
    .contact-form-style-2 {
        grid-template-columns: 1fr; /* Pasa a 1 sola columna */
        padding: 25px 20px;
        gap: 20px;
    }
    .contact-form-style-2 > p {
        grid-column: 1 / -1 !important; /* Fuerza todo al 100% */
    }
    .contact-form-style-2 .btn {
        width: 100%; /* Botón grande en móviles */
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c51262c *//* --- Contenedor Principal (Cambiado a Bloque para arreglar textos sueltos) --- */
.contact-form-style-2 {
    display: block; 
    background-color: #F7F7F7; 
    padding: 40px;
    border-radius: 12px; 
    color: #34639A; 
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    line-height: 1.6;
}

/* --- Reseteo de márgenes de los párrafos --- */
.contact-form-style-2 > p {
    margin-top: 0;
    margin-bottom: 20px;
}

/* --- Columnas usando Inline-Block (Mitad de ancho) --- */
.contact-form-style-2 > p:has(input[name="your-name"]),
.contact-form-style-2 > p:has(input[name="apellido"]),
.contact-form-style-2 > p:has(input[name="your-email"]),
.contact-form-style-2 > p:has(input[name="dni"]),
.contact-form-style-2 > p:has(input[name="phone"]),
.contact-form-style-2 > p:has(input[name="codigopostal"]),
.contact-form-style-2 > p:has(input[name="ciudad"]),
.contact-form-style-2 > p:has(input[name="provincia"]),
.contact-form-style-2 > p:has(input[name="pais"]) {
    display: inline-block;
    width: calc(50% - 16px); /* Ocupan la mitad del espacio */
    vertical-align: top;
}

/* --- Margen derecho solo para la columna izquierda --- */
.contact-form-style-2 > p:has(input[name="your-name"]),
.contact-form-style-2 > p:has(input[name="your-email"]),
.contact-form-style-2 > p:has(input[name="phone"]),
.contact-form-style-2 > p:has(input[name="codigopostal"]),
.contact-form-style-2 > p:has(input[name="provincia"]) {
    margin-right: 24px; /* Separador central */
}

/* --- Campos de Ancho Completo --- */
.contact-form-style-2 > p:has(input[name="direccion"]),
.contact-form-style-2 > p:has(input[type="file"]) {
    display: block;
    width: 100%;
}

/* --- Estilos limpios para los campos de texto --- */
.contact-form-style-2 input[type="text"],
.contact-form-style-2 input[type="email"],
.contact-form-style-2 input[type="tel"],
.contact-form-style-2 input[type="file"] {
    width: 100%;
    box-sizing: border-box;
    margin-top: 8px;
    padding: 14px;
    background-color: #ffffff;
    border: 1px solid #dcdcdc;
    border-radius: 8px;
    color: #34639A;
    font-size: 15px;
    transition: all 0.3s ease;
}

.contact-form-style-2 input:focus {
    border-color: #0D6EFD; 
    background-color: #E7F1FB; 
    outline: none;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.15);
}

/* --- Enlaces dentro del formulario --- */
.contact-form-style-2 a {
    color: #0D6EFD;
    text-decoration: none;
    font-weight: bold;
}
.contact-form-style-2 a:hover {
    color: #34639A;
    text-decoration: underline;
}

/* --- FIX: Checkboxes, Políticas y Textos Sueltos --- */
/* Al no usar Grid, ahora esto fluirá en una sola línea de manera correcta */
.contact-form-style-2 input[type="checkbox"] {
    accent-color: #0D6EFD;
    transform: scale(1.1);
    margin-right: 8px;
    cursor: pointer;
    vertical-align: middle;
}

/* --- Acordeón (Exención de responsabilidad) --- */
.contact-form-style-2 details.accordion {
    display: block;
    background-color: #ffffff;
    border: 1px solid #E7F1FB;
    padding: 20px;
    border-radius: 8px;
    margin-top: 25px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02); /* Sombra muy sutil */
}

.contact-form-style-2 details.accordion summary {
    color: #34639A;
    font-weight: bold;
    cursor: pointer;
    display: flex; /* Mantiene alineado el +, el texto y el checkbox interno */
    align-items: center;
    flex-wrap: wrap; 
    gap: 10px;
    outline: none;
}

.contact-form-style-2 details.accordion p {
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.5;
}

/* --- Botón de Envío --- */
.contact-form-style-2 p:has(input[type="submit"]) {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 30px;
}

.contact-form-style-2 .btn {
    background-color: #0D6EFD;
    color: #ffffff;
    padding: 15px 45px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(13, 110, 253, 0.2);
}

.contact-form-style-2 .btn:hover {
    background-color: #34639A;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(52, 99, 154, 0.3);
}

/* --- Diseño Responsive para Móviles --- */
@media (max-width: 768px) {
    .contact-form-style-2 {
        padding: 25px 20px;
    }
    .contact-form-style-2 > p:has(input) {
        display: block !important;
        width: 100% !important; /* Todo a 1 columna en móvil */
        margin-right: 0 !important;
    }
    .contact-form-style-2 .btn {
        width: 100%;
    }
}/* End custom CSS */