/*
 * Overrides de Elementor por ID de elemento, organizadas por página.
 * Los bloques con reglas IDÉNTICAS en varias páginas se agrupan en un solo
 * selector compuesto para no repetir la misma declaración muchas veces.
 */

/*header */
header.xpro-theme-builder-header .elementor-element-43c05b3,
header.xpro-theme-builder-header .e-con,
header.xpro-theme-builder-header .e-con-inner {
    min-height: unset !important;
    height: auto !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}

/*logo header*/
header.xpro-theme-builder-header .elementor-element-692f4b5 {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* tamaño logo */
header.xpro-theme-builder-header .elementor-widget-image img {
    max-height: 40px !important;
    width: auto !important;

}

/* ancho heder */
header.xpro-theme-builder-header .elementor-element-43c05b3 {
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}


.elementor .e-con-boxed > .e-con-inner {
    max-width: 1340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}


.elementor .e-con-full.e-parent {
    max-width: 100%;
}

/*media (celular) nav*/
@media (max-width: 767.98px) {
    /* Header en celular */
    header.xpro-theme-builder-header .elementor-element-43c05b3,
    header.xpro-theme-builder-header .e-con,
    header.xpro-theme-builder-header .e-con-inner {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        min-height: unset !important;
        height: auto !important;
        padding-top: 1px !important;
        padding-bottom: 1px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    /* Reducir el contenedor del logo */
    header.xpro-theme-builder-header div.elementor-element-692f4b5 {
        width: auto !important;
        max-width: 90px !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Achicar la imagen del logo */
    header.xpro-theme-builder-header .elementor-element-6eec947 img,
    header.xpro-theme-builder-header .elementor-widget-image img {
        max-height: 16px !important;
        width: auto !important;
        height: auto !important;
    }

    header.xpro-theme-builder-header .elementor-widget-image {
        margin: 0 !important;
        padding: 0 !important;
    }

    header.xpro-theme-builder-header .elementor-element-5fb901a {
        width: auto !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Ajustar menú hamburguesa */
    header.xpro-theme-builder-header .xpro-elementor-horizontal-menu-toggler {
        padding: 1px !important;
        margin: 0 !important;
    }

    header.xpro-theme-builder-header .xpro-elementor-horizontal-menu-toggler svg {
        width: 16px !important;
        height: 16px !important;
    }
}

/**/

.xpro-elementor-dropdown-menu {
    width: 17.5rem !important;
    min-width: 17.5rem !important;
    padding: 0.75rem 0 !important;
    background-color: #ffffff !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 0.625rem 1.875rem rgba(0, 0, 0, 0.08) !important;
    border: 0.0625rem solid #eaeaea !important;
}

.xpro-elementor-dropdown-menu .nav-item,
.xpro-elementor-dropdown-menu li {
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
}

.xpro-elementor-dropdown-menu .xpro-elementor-dropdown-item {
    display: block !important;
    width: 100% !important;
    padding: 0.75rem 1.5rem !important;
    color: #0d1b2a !important;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    text-align: left !important;
    background: transparent !important;
    border: none !important;
    text-decoration: none !important;
    white-space: normal !important;
}

.xpro-elementor-dropdown-menu .xpro-elementor-dropdown-item:hover {
    background-color: #f8f9fa !important;
    color: #ff4d4d !important;
}

.xpro-elementor-dropdown-menu::before,
.xpro-elementor-dropdown-menu::after,
.xpro-elementor-dropdown-arrow {
    display: none !important;
}

/* footer */

.elementor-element.elementor-element-bc37a9e {
    align-items: flex-start !important;
    text-align: left !important;
}
.elementor-element.elementor-element-0cb0e18 {
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
}
.elementor-element.elementor-element-0cb0e18 img {
    margin-left: 0 !important;
    margin-right: auto !important;
    display: block !important;
}
.elementor-element.elementor-element-ad0f6ae {
    max-width: 84.375rem !important;
    width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0.625rem !important;
    padding-right: 0.625rem !important;
    box-sizing: border-box !important;
}
.elementor-element.elementor-element-ad0f6ae > .e-con-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.elementor-element.elementor-element-ad0f6ae .elementor-widget {
    margin: 0 !important;
}

/* Contenedor del logo en el menú */
.elementor-element-6eec947 {
    width: 180px !important;
    min-height: 68px !important;
    background-image: url('https://bhingenieros.com/wp-content/uploads/bh-site/imagenes/logo-blanco-horizontal.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center left !important;
}

/* Ocultar cualquier texto o imagen  */
.elementor-element-6eec947 img {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Asegurar el enlace del logo */
.elementor-element-6eec947 a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 68px !important;
}

/*
 * Texto pequeño gris bajo el breadcrumb (compartido por todas las páginas
 * de servicio, nosotros, blog y contacto — antes repetido 11 veces).
 */
.elementor-element-b9ebdd6 p,
.elementor-element-1d03abd p,
.elementor-element-7c9fa1d p,
.elementor-element-3e35938 p,
.elementor-element-e5974c1 p,
.elementor-element-47f3017 p,
.elementor-element-f5e0ed9 p,
.elementor-element-088d56a p,
.elementor-element-4f6aeca .elementor-element-919cb22 p,
.elementor-element-754bdf8 p,
.elementor-element-754bdf8 {
    font-size: 0.8125rem !important;
    color: #777777 !important;
    margin-bottom: 0.5rem !important;
}

/*
 * Bloque "cotizar" del sidebar (naves, puentes, estructuras, obras,
 * consultoría y entibados comparten exactamente el mismo estilo).
 */
.elementor-element-43e64b1,
.elementor-element-17c1e2a,
.elementor-element-9c60193,
.elementor-element-4ee8709,
.elementor-element-d8e7a6d,
.elementor-element-65e8340 {
    display: flex !important;
    justify-content: flex-end !important;
}

.elementor-element-987a391,
.elementor-element-e487858,
.elementor-element-143f136,
.elementor-element-21b8f99,
.elementor-element-c178d2f,
.elementor-element-d051c15 {
    width: 100% !important;
    max-width: 24rem !important;
    background-color: #ffffff !important;
    border: 0.0625rem solid #eaeaea !important;
    border-radius: 0.875rem !important;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.04) !important;
    padding: 1.75rem !important;
    box-sizing: border-box !important;
}

/*pagina incio*/

.elementor-element-c383881 .elementor-element-5a4afd5 h1 {
    font-size: 3.4375rem !important;
    line-height: 1.15 !important;
}
.elementor-element-c383881 .elementor-element-5a4afd5 {
    width: 100% !important;
    max-width: 46.875rem !important;
}
.elementor-element-c383881 .elementor-element-5eb1b8d {
    width: 100% !important;
    max-width: 33.75rem !important;
    text-align: left !important;
}

.elementor-element-fd0d380 {
    padding-top: 3.125rem !important;
    padding-bottom: 3.125rem !important;
}
.elementor-element-fd0d380 .elementor-element-afccbcd h2 {
    font-size: 2.25rem !important;
}
.elementor-element-fd0d380 .elementor-widget-text-editor p {
    font-size: 1.0625rem !important;
    line-height: 1.6;
}
.elementor-element-fd0d380 .elementor-element-b6f7ce5 {
    font-size: 1rem !important;
}
.elementor-element-fd0d380 .elementor-element-2a21008 img {
    border-radius: 0.75rem !important;
    box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.12);
    max-height: 23.125rem !important;
    width: 100% !important;
    object-fit: cover !important;
}

/*hero(cel)*/
@media (max-width: 767.98px) {
    /* Reducir el espacio superior  */
    .elementor-element-1433a99 {
        margin-top: 5px !important;
        padding-top: 0 !important;
    }

    .elementor-element-5a4afd5 h1.elementor-heading-title {
        font-size: 2.1rem !important;
        line-height: 1.15 !important;
    }

    .elementor-element-1433a99 .elementor-heading-title {
        font-size: 0.8125rem !important;
        letter-spacing: 0.5px !important;
    }

    .elementor-element-5eb1b8d p {
        font-size: 0.9375rem !important;
        line-height: 1.4 !important;
    }

    .elementor-element-c127a06 {
        flex-direction: column !important;
        gap: 10px !important;
        margin-top: 15px !important;
    }

    .elementor-element-c127a06 .elementor-button {
        width: 100% !important;
        text-align: center !important;
    }
}

/*
 * Tarjetas de servicio: mismo componente en "Servicios (inicio)" y en
 * "Servicios (overview)" — reglas idénticas, un solo bloque para ambas.
 */
.elementor-element-d2114f2,
.elementor-element-debb2e5 {
    padding-top: 3.125rem !important;
    padding-bottom: 3.125rem !important;
}

.elementor-element-d2114f2 .e-con-full.e-child,
.elementor-element-debb2e5 .e-con-full.e-child {
    background-color: #ffffff !important;
    border: 0.0625rem solid #eaeaea !important;
    border-radius: 0.875rem !important;
    overflow: hidden !important;
    padding: 0rem !important;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.04);
}

.elementor-element-d2114f2 .elementor-widget-image img,
.elementor-element-debb2e5 .elementor-widget-image img,
.elementor-element-dab5961 .elementor-widget-image img {
    height: 13.75rem !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: 0rem !important;
}

.elementor-element-d2114f2 .e-con-inner,
.elementor-element-d2114f2 .elementor-widget-wrap,
.elementor-element-debb2e5 .e-con-inner,
.elementor-element-debb2e5 .elementor-widget-wrap {
    padding: 1.5rem !important;
}

.elementor-element-d2114f2 .elementor-widget-heading .elementor-heading-title,
.elementor-element-debb2e5 .elementor-widget-heading .elementor-heading-title {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin-bottom: 0.75rem !important;
}

.elementor-element-d2114f2 .elementor-widget-text-editor p,
.elementor-element-debb2e5 .elementor-widget-text-editor p {
    color: #666666 !important;
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
    margin-bottom: 1.25rem !important;
}

.elementor-element-d2114f2 .elementor-widget-heading:last-child .elementor-heading-title,
.elementor-element-debb2e5 .elementor-widget-heading:last-child .elementor-heading-title {
    color: #ff3b3b !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
}

.elementor-element-d2114f2 .e-con-full.e-child .e-con,
.elementor-element-debb2e5 .e-con-full.e-child .e-con {
    padding: 1.5rem !important;
}

/*IZAJE*/

.elementor-element-2b71208 {
    padding-top: 3.125rem !important;
    padding-bottom: 3.125rem !important;
}
.elementor-element-f2487a0 .elementor-element-061224d {
    background-color: transparent !important;
    width: auto !important;
    display: inline-block !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    margin-bottom: 0.3125rem !important;
}
.elementor-element-f2487a0 .elementor-element-061224d .elementor-heading-title {
    background-color: #ffe6e6 !important;
    color: #ff3b3b !important;
    display: inline-block !important;
    padding: 0.5rem 1.125rem !important;
    border-radius: 1.875rem !important;
    font-size: 0.625rem !important;
    font-weight: 600 !important;
}
.elementor-element-f2487a0 .elementor-element-f4e2536 {
    text-align: left !important;
}
.elementor-element-f2487a0 .elementor-element-f4e2536 img {
    max-width: 10rem !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    margin-bottom: 0.3125rem !important;
}
.elementor-element-f2487a0 .elementor-element-8b0a013 p {
    color: #ffffff !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    margin-bottom: 1.25rem !important;
}
.elementor-element-f2487a0 .elementor-icon-list-items {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.625rem 1.25rem !important;
    margin-bottom: 1.25rem !important;
}
.elementor-element-f2487a0 .elementor-icon-list-item {
    color: #ffffff !important;
}
.elementor-element-f2487a0 .elementor-icon-list-icon svg {
    fill: #ff4d4d !important;
}
.elementor-element-f2487a0 .elementor-button {
    background-color: #ff4d4d !important;
    color: #ffffff !important;
    border-radius: 0.5rem !important;
    padding: 0.75rem 1.5rem !important;
    font-weight: bold !important;
    border: none !important;
}
.elementor-element-2b71208 .elementor-element-bef07c1 img {
    height: 21.875rem !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: 0.875rem !important;
    box-shadow: 0 0.625rem 1.5625rem rgba(0, 0, 0, 0.3) !important;
}

/*
 * "Cómo trabajamos": mismo componente en inicio y en la página de naves
 * (base del contenedor y padding de cada paso son idénticos en ambas).
 */
.elementor-element-cb5e5b9,
.elementor-element-9d19058 {
    max-width: 84.375rem !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0% !important;
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
}
.elementor-element-cb5e5b9 > .e-con,
.elementor-element-9d19058 > .e-con {
    min-height: auto !important;
    padding-top: 0.625rem !important;
    padding-bottom: 0.625rem !important;
    padding-left: 0.3125rem !important;
    padding-right: 0.3125rem !important;
}
/* Círculo numerado: mismo tamaño/forma en inicio, naves y puentes; el color de fondo varía */
.elementor-element-cb5e5b9 .e-con.e-child[data-settings*="background_background"],
.elementor-element-9d19058 .e-con.e-child[data-settings*="background_background"],
.elementor-element-5267cdd .e-con.e-child[data-settings*="background_background"] {
    width: 3.75rem !important;
    height: 3.75rem !important;
    min-width: 3.75rem !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 0.9375rem !important;
}
.elementor-element-cb5e5b9 .e-con.e-child[data-settings*="background_background"] {
    background-color: #0d1b2a !important;
}
.elementor-element-9d19058 .e-con.e-child[data-settings*="background_background"],
.elementor-element-5267cdd .e-con.e-child[data-settings*="background_background"] {
    background-color: #0d1b2a63 !important;
}
.elementor-element-cb5e5b9 .elementor-widget-heading h3.elementor-heading-title {
    font-size: 1rem !important;
}
.elementor-element-cb5e5b9 .elementor-widget-text-editor p {
    font-size: 0.8125rem !important;
}
.elementor-element-9d19058 .elementor-widget-heading h3.elementor-heading-title,
.elementor-element-9d19058 .elementor-widget-heading .elementor-heading-title {
    font-size: 1rem !important;
}
.elementor-element-9d19058 .elementor-widget-text-editor p {
    font-size: 0.8125rem !important;
}

.elementor-element-20e0ebc {
    padding-top: 0rem !important;
    margin-top: -1.25rem !important;
    margin-bottom: 0rem !important;
    padding-bottom: 0rem !important;
}
.elementor-element-20e0ebc .elementor-widget-divider {
    margin-bottom: 0rem !important;
}
.elementor-element-20e0ebc .elementor-widget-heading {
    margin-bottom: 0rem !important;
}

/* Sección "cifras/CTA" al cierre de inicio y servicios overview (mismo padding) */
.elementor-element-c00b5ab,
.elementor-element-5b7c800 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
}
.elementor-element-0052b66 p {
    font-size: 1.5625rem !important;
    line-height: 1.4 !important;
}

.elementor-element-5b7c800 .elementor-element-637d163 {
    max-width: 84.375rem !important;
    width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.elementor-element-5b7c800 .elementor-element-fe86d79 {
    background: transparent !important;
    border: none !important;
    max-width: 84.375rem !important;
    width: 90% !important;
    margin: 0 auto 1.875rem auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.875rem !important;
}
.elementor-element-5b7c800 .elementor-element-fe86d79 > .e-con {
    background-color: #ffffff !important;
    border: 0.0625rem solid #eaeaea !important;
    border-radius: 0.875rem !important;
    overflow: hidden !important;
    padding: 0rem !important;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.04) !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.elementor-element-5b7c800 .elementor-element-fe86d79 .elementor-widget-image {
    width: 100% !important;
    margin: 0 !important;
}
.elementor-element-5b7c800 .elementor-element-fe86d79 .elementor-widget-image img {
    height: 11.25rem !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: 0rem !important;
    display: block !important;
}
.elementor-element-5b7c800 .elementor-element-fe86d79 > .e-con > .e-con {
    padding: 1.25rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: transparent !important;
    flex-grow: 1 !important;
}
.elementor-element-5b7c800 .elementor-element-fe86d79 .elementor-widget-heading .elementor-heading-title[class*="elementor-size-default"]:not(h3) {
    color: #ff4d4d !important;
    font-size: 0.75rem !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    margin-bottom: 0.3125rem !important;
}
.elementor-element-5b7c800 .elementor-element-fe86d79 .elementor-widget-heading h3 {
    font-size: 1.125rem !important;
    color: #0d1b2a !important;
    font-weight: 700 !important;
    margin-bottom: 0.625rem !important;
}
.elementor-element-5b7c800 .elementor-element-fe86d79 .elementor-widget-text-editor p {
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    color: #555555 !important;
    margin: 0 !important;
}
.elementor-element-5b7c800 .elementor-element-4804302 {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    grid-column: 1 / -1 !important;
    margin-top: 0.625rem !important;
}
@media (max-width: 48rem) {
    .elementor-element-5b7c800 .elementor-element-fe86d79 {
        grid-template-columns: 1fr !important;
    }
}
.elementor-element-5b7c800 .elementor-element-637d163.e-con-boxed {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 2.5rem !important;
    padding-right: 2.5rem !important;
    box-sizing: border-box !important;
}
.elementor-element-5b7c800 .elementor-element-637d163 > .e-con-inner {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
}

/*pagina nosotros*/

.elementor-element-4f6aeca .elementor-element-f1fc3ea h1.elementor-heading-title {
    font-size: 2.375rem !important;
    color: #0d1b2a !important;
    font-weight: 700 !important;
    margin-bottom: 0rem !important;
}
.elementor-element-4f6aeca .elementor-element-2e8d6f7 {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}
.elementor-element-4f6aeca .elementor-element-2e8d6f7 > .e-con-inner {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 3.125rem !important;
    align-items: center !important;
}
.elementor-element-4f6aeca .elementor-element-db02122 {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-element-4f6aeca .elementor-element-ba4d38a h2.elementor-heading-title {
    font-size: 1.75rem !important;
    color: #0d1b2a !important;
    font-weight: 700 !important;
    margin-bottom: 1.25rem !important;
    text-align: left !important;
}
.elementor-element-4f6aeca .elementor-element-ea1dcca p {
    font-size: 1.125rem !important;
    line-height: 1.6 !important;
    color: #555555 !important;
    margin: 0 !important;
    text-align: left !important;
}
.elementor-element-4f6aeca .elementor-element-c8315fd {
    width: 45% !important;
    max-width: 45% !important;
    flex: 0 0 45% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-element-4f6aeca .elementor-element-5f38895 img {
    border-radius: 0.75rem !important;
    box-shadow: 0 0.5rem 1.5625rem rgba(0, 0, 0, 0.12) !important;
    width: 100% !important;
    height: 20.625rem !important;
    object-fit: cover !important;
    display: block !important;
}
@media (max-width: 48rem) {
    .elementor-element-4f6aeca .elementor-element-2e8d6f7 > .e-con-inner {
        flex-direction: column !important;
        gap: 1.875rem !important;
    }
    .elementor-element-4f6aeca .elementor-element-db02122,
    .elementor-element-4f6aeca .elementor-element-c8315fd {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}


.elementor-element-95539ed {
    padding-top: 1.875rem !important;
    padding-bottom: 3.75rem !important;
    background-color: #eaeaea !important;
}
.elementor-element-95539ed .elementor-element-6e4496f,
.elementor-element-95539ed .elementor-element-e0b680f {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    background-color: #ffffff !important;
    border-radius: 1rem !important;
    padding: 2.8125rem 2.5rem !important;
    box-sizing: border-box !important;
}
.elementor-element-95539ed .elementor-element-38cf544 h3.elementor-heading-title,
.elementor-element-95539ed .elementor-element-9012f65 h3.elementor-heading-title {
    font-size: 1.375rem !important;
    color: #0d1b2a !important;
    font-weight: 700 !important;
    margin-bottom: 1.125rem !important;
    text-align: left !important;
}
.elementor-element-95539ed .elementor-element-29bcc31 p,
.elementor-element-95539ed .elementor-element-1d5ced4 p {
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
    color: #555555 !important;
    margin: 0 !important;
    text-align: left !important;
}
@media (max-width: 48rem) {
    .elementor-element-95539ed .elementor-element-c699fec > .e-con-inner {
        flex-direction: column !important;
        gap: 1.5625rem !important;
    }
    .elementor-element-95539ed .elementor-element-6e4496f,
    .elementor-element-95539ed .elementor-element-e0b680f {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 1.875rem 1.5625rem !important;
    }
}

.elementor-element-9acb2e8 > .e-con {
    border: 1px solid #cccccc !important;
    border-radius: 1rem !important;
}

/* nuestros profesionales */
.elementor-element-9480b20 {
    margin-bottom: -0.625rem !important;
}
.elementor-element-06389dd {
    margin-top: 0rem !important;
    padding-top: 0rem !important;
}
.elementor-element-06389dd p {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
}
.elementor-element-717a44a > .elementor-element {
    background-color: #ffffff !important;
    border: 0.0625rem solid #eaeaea !important;
    border-radius: 0.875rem !important;
    overflow: hidden !important;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.04) !important;
}
.elementor-element-717a44a .elementor-widget-image img {
    width: 100% !important;
    height: 18rem !important;
    object-fit: cover !important;
    border-top-left-radius: 0.875rem !important;
    border-top-right-radius: 0.875rem !important;
}

/*como trabajamos naves*/
@media (max-width: 767.98px) {
    .elementor-element-9d19058 {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 1.25rem !important;
    }

    .elementor-element-9d19058 > .e-con {
        flex: 1 1 calc(48% - 0.5rem) !important;
        max-width: calc(48% - 0.5rem) !important;
    }
    .xpro-elementor-horizontal-menu-toggler-wrapper svg {
        fill: #ffffff;
    }
}

/*barra zul puente*/

.elementor-element-884eac5 {
    border-radius: 0.875rem !important;
    overflow: hidden !important;
}

/*solucion puente*/

.elementor-element-dab5961 {
    padding-top: 3.125rem !important;
    padding-bottom: 3.125rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1.5rem !important;
}

.elementor-element-dab5961 .e-con-full.e-child {
    background-color: #ffffff !important;
    border: 0.0625rem solid #eaeaea !important;
    border-radius: 0.875rem !important;
    overflow: hidden !important;
    padding: 0rem !important;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.04) !important;
    flex: 1 1 calc(33.333% - 1rem) !important;
    max-width: calc(33.333% - 1rem) !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

.elementor-element-dab5961 .e-con-inner,
.elementor-element-dab5961 .e-con-full.e-child .e-con {
    padding: 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    justify-content: space-between !important;
}

.elementor-element-dab5961 .elementor-widget-heading .elementor-heading-title {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin-bottom: 0.75rem !important;
    width: 100% !important;
}

.elementor-element-dab5961 .elementor-widget-text-editor p {
    color: #666666 !important;
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
    margin-bottom: 1.25rem !important;
    width: 100% !important;
}

.elementor-element-dab5961 .elementor-widget-heading:last-child .elementor-heading-title {
    color: #ff3b3b !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    margin-top: auto !important;
    width: 100% !important;
}

/*solucion-puente-cel*/
@media (max-width: 767.98px) {
    .elementor-element-dab5961 {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 1.5rem !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .elementor-element-dab5961 .e-con-full.e-child {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/*como trabajamos puente*/

.elementor-element-5267cdd {
    max-width: 84.375rem !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0% !important;
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 1rem !important;
}

.elementor-element-5267cdd > .e-con {
    min-height: auto !important;
    padding-top: 0.625rem !important;
    padding-bottom: 0.625rem !important;
    padding-left: 0.3125rem !important;
    padding-right: 0.3125rem !important;
    flex: 1 1 calc(20% - 1rem) !important;
    max-width: calc(20% - 1rem) !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.elementor-element-5267cdd .elementor-widget-heading h3.elementor-heading-title,
.elementor-element-5267cdd .elementor-widget-heading .elementor-heading-title {
    font-size: 1rem !important;
    width: 100% !important;
}

.elementor-element-5267cdd .elementor-widget-text-editor p {
    font-size: 0.8125rem !important;
    width: 100% !important;
}

/*como trabajamos puente cel*/
@media (max-width: 767.98px) {
    .elementor-element-5267cdd {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 1rem !important;
    }

    .elementor-element-5267cdd > .e-con {
        flex: 1 1 calc(48% - 0.5rem) !important;
        max-width: calc(48% - 0.5rem) !important;
        box-sizing: border-box !important;
    }

    .elementor-element-5267cdd > .e-con:nth-child(5) {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }
}

/*cotizar estructuras (barra azul)*/
.elementor-element-9acb2e8 > .e-con {
    border: 1px solid #cccccc !important;
    border-radius: 1rem !important;
}

/*blog cards*/
.elementor-element-4b3ac9f {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
}

.elementor-element-4b3ac9f > .e-con-full.e-child {
    background-color: #ffffff !important;
    border: 0.0625rem solid #eaeaea !important;
    border-radius: 0.875rem !important;
    overflow: hidden !important;
    padding: 1.75rem !important;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.04) !important;
    flex: 1 1 calc(33.333% - 1rem) !important;
    max-width: calc(33.333% - 1rem) !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

.elementor-element-4b3ac9f .elementor-widget-heading:first-child .elementor-heading-title {
    background-color: #0d1b2a12 !important;
    color: #111111 !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    padding: 0.375rem 0.875rem !important;
    border-radius: 6.25rem !important;
    display: inline-block !important;
    margin-bottom: 1.25rem !important;
}

.elementor-element-4b3ac9f h3.elementor-heading-title {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #001e3d !important;
    line-height: 1.4 !important;
    margin-bottom: 0.875rem !important;
}

.elementor-element-4b3ac9f .elementor-widget-text-editor p {
    color: #555555 !important;
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
    margin-bottom: 1.5rem !important;
}

.elementor-element-4b3ac9f .elementor-widget-heading:last-child .elementor-heading-title {
    color: #001e3d !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    margin-top: auto !important;
}

/*blog-card-cel*/
@media (max-width: 767.98px) {

    .elementor-element-4b3ac9f {
        flex-direction: column !important;
        gap: 1rem !important;
    }


    .elementor-element-4b3ac9f > .e-con-full.e-child {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        padding: 1.25rem !important;
    }


    .elementor-element-4b3ac9f h3.elementor-heading-title {
        font-size: 1.1rem !important;
    }
}

/*formulario*/
.elementor-element-e88f881 {
    background-color: #f9f9f9 !important;
    border: 0.0625rem solid #eaeaea !important;
    border-radius: 0.875rem !important;
    padding: 2.5rem !important;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
}

#wpforms-382 .wpforms-field-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1.25rem !important;
}

#wpforms-382 .wpforms-field {
    padding: 0 !important;
    margin: 0 !important;
    flex: 1 1 calc(50% - 0.625rem) !important;
    max-width: calc(50% - 0.625rem) !important;
    box-sizing: border-box !important;
}

#wpforms-382 div.wpforms-field-select,
#wpforms-382 div.wpforms-field-textarea,
#wpforms-382 div.wpforms-submit-container {
    flex: 1 1 100% !important;
    max-width: 100% !important;
}

#wpforms-382 div.wpforms-field-text:nth-of-type(4),
#wpforms-382 div.wpforms-field-text:nth-of-type(5) {
    display: none !important;
}

#wpforms-382 .wpforms-field-label {
    display: block !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    color: #333333 !important;
    margin-bottom: 0.375rem !important;
}

#wpforms-382 input[type="text"],
#wpforms-382 input[type="email"],
#wpforms-382 select,
#wpforms-382 textarea {
    width: 100% !important;
    max-width: 100% !important;
    background-color: #ffffff !important;
    border: 0.0625rem solid #dcdcdc !important;
    border-radius: 0.5rem !important;
    padding: 0.875rem 1rem !important;
    font-size: 0.9375rem !important;
    color: #333333 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
}

#wpforms-382 textarea {
    height: 9rem !important;
    resize: vertical !important;
}

#wpforms-382 select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml;utf8,<svg fill='%23333333' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 1.25rem !important;
    padding-right: 2.5rem !important;
}

#wpforms-382 .wpforms-submit-container {
    margin-top: 0.5rem !important;
}

#wpforms-382 button.wpforms-submit {
    background-color: #001e3d !important;
    color: #ffffff !important;
    width: 100% !important;
    padding: 1rem !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 0.5rem !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
}

#wpforms-382 button.wpforms-submit:hover {
    background-color: #ff3b3b !important;
}

/*formulario-cel*/
@media (max-width: 767.98px) {

    #wpforms-382 .wpforms-field {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }


    .elementor-element-e88f881 {
        padding: 1.25rem !important;
    }
}
