/* chaniar-services-contrast */
html body p.elementor-image-box-description{color:#444444!important;}
html body.elementor-page.elementor-page-12023 .elementor-12023 .elementor-widget-text-editor,html body.elementor-page.elementor-page-12023 .elementor-12023 .elementor-widget-text-editor p,html body.elementor-page.elementor-page-12023 .elementor-12023 .elementor-widget-text-editor li,html body.elementor-page.elementor-page-12023 .elementor-12023 .elementor-widget-text-editor span,html body.elementor-page.elementor-page-12023 .elementor-12023 .elementor-widget-text-editor strong{color:#444444!important;}

/* chaniar-header-mobile-align */
@media (max-width: 767px) {
  .elementor-container:has(.elementor-element-7f26319):has(.elementor-button-wrapper) {display:flex !important;flex-wrap:nowrap !important;justify-content:space-between !important;align-items:center !important;}
  .elementor-container:has(.elementor-element-7f26319):has(.elementor-button-wrapper) > .elementor-column {width:auto !important;flex:0 0 auto !important;}
  .elementor-container:has(.elementor-element-7f26319):has(.elementor-button-wrapper) > .elementor-column:first-child {flex:1 1 auto !important;}
  /*
   * Header HFE: a ~340px el flex “space-between” + columna logo sin min-width:0 hacía que el CTA tocara el borde.
   * Padding en el contenedor + logo puede encoger (min-width:0) deja gutter estable a ambos lados.
   */
  .elementor-12786 .elementor-container:has(.elementor-element-7f26319):has(.elementor-button-wrapper) {
    padding-left: max(0.7rem, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(0.7rem, env(safe-area-inset-right, 0px)) !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
  }
  .elementor-12786 .elementor-container:has(.elementor-element-7f26319):has(.elementor-button-wrapper) > .elementor-column:first-child {
    min-width: 0 !important;
  }
  /*
   * Menú WPR: la columna no puede ser display:none (se pierde el overlay móvil).
   * Caja de ancho 0 en la fila del header; overflow visible para hijos position:fixed.
   */
  .elementor-12786 .elementor-element-4a5f21a4 {
    flex: 0 0 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    position: relative;
    z-index: 0;
  }
  .elementor-12786 .elementor-element-4a5f21a4 > .elementor-widget-wrap {
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* chaniar-footer-mobile-fix */
@media (max-width: 900px) {
    /* Compensa align-items:flex-start del child (solo >=901): centrar hijos del pie en columna */
    html body .elementor-location-footer .elementor-top-section > .elementor-container,
    html body [data-elementor-type="footer"] .elementor-top-section > .elementor-container,
    html body footer .elementor-top-section > .elementor-container {
        align-items: center !important;
    }

    /* Columna “Contacto” que envuelve título + grilla 6ffac2c1 */
    html body .elementor-element-5a5c15ec > .elementor-widget-wrap.elementor-element-populated {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
    }

    html body .elementor-element.elementor-element-6ffac2c1 > .elementor-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
    }
    /* elementor-col-25 y inner-column suelen dejar width:25% en móvil y desplazan el bloque */
    html body .elementor-element-6ffac2c1 > .elementor-container > .elementor-column.elementor-inner-column,
    html body .elementor-element-6ffac2c1 > .elementor-container > .elementor-column.elementor-col-25 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        flex-basis: auto !important;
        align-self: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        margin-bottom: 20px !important;
        text-align: center !important;
    }

    /* Cada bloque (wrap) centrado en el eje horizontal cuando van apilados */
    html body .elementor-element-6ffac2c1 > .elementor-container > .elementor-column > .elementor-widget-wrap {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
    }

    html body .elementor-element-6ffac2c1 > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element {
        width: auto !important;
        max-width: 100% !important;
        align-self: center !important;
    }
    html body .elementor-element-6ffac2c1 .elementor-widget.elementor-widget__width-initial,
    html body .elementor-element-6ffac2c1 .elementor-widget.elementor-widget-mobile__width-initial {
        max-width: 100% !important;
    }

    /* Ubicación / correo: la fila icono+texto como caja compacta centrada */
    html body .elementor-element-6ffac2c1 [data-chaniar-footer-icon="location"] .elementor-widget-text-editor > .elementor-widget-container,
    html body .elementor-element-6ffac2c1 [data-chaniar-footer-icon="mail"] .elementor-widget-text-editor > .elementor-widget-container {
        justify-content: center !important;
        width: fit-content !important;
        max-width: 100% !important;
        margin-inline: auto !important;
    }

    /* + Info (iconos sociales dentro de la columna) */
    html body .elementor-element-6ffac2c1 [data-chaniar-footer-icon="info"] {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
    }
    html body .elementor-element-6ffac2c1 [data-chaniar-footer-icon="info"] .elementor-element-a52b0bb > .elementor-container {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }

    /*
     * Teléfonos: los iconos son ::before en cada <p> (footer-contact-columns.css), no hay segunda columna.
     * text-align:center en la columna centra el enlace dentro del <p> pero el pseudo queda a la izquierda → hueco enorme.
     */
    html body .elementor-element-6ffac2c1 [data-chaniar-footer-icon="phone"],
    html body .elementor-element-6ffac2c1 [data-chaniar-footer-icon="phone"] .elementor-widget-text-editor,
    html body .elementor-element-6ffac2c1 [data-chaniar-footer-icon="phone"] .elementor-widget-text-editor .elementor-widget-container,
    html body .elementor-element-6ffac2c1 [data-chaniar-footer-icon="phone"] p,
    html body .elementor-element-6ffac2c1 [data-chaniar-footer-icon="phone"] a {
        text-align: start !important;
    }
    html body .elementor-element-6ffac2c1 [data-chaniar-footer-icon="phone"] .elementor-widget-text-editor .elementor-widget-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    html body .elementor-element-6ffac2c1 [data-chaniar-footer-icon="phone"] .elementor-widget-text-editor p {
        width: fit-content !important;
        max-width: 100% !important;
        margin-inline: auto !important;
    }

    html body .elementor-location-footer [data-chaniar-footer-icon="phone"] p,
    html body [data-elementor-type="footer"] [data-chaniar-footer-icon="phone"] p {
        text-align: start !important;
    }

    html body .elementor-element.elementor-element-a52b0bb .chaniar-footer-icon-row {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 10px !important;
        width: fit-content !important;
        max-width: 100% !important;
        margin-inline: auto !important;
    }
    html body .elementor-element-6ffac2c1 .chaniar-footer-icon-row {
        width: fit-content !important;
        max-width: 100% !important;
        margin-inline: auto !important;
        justify-content: center !important;
    }
    html body .elementor-element.elementor-element-a52b0bb .chaniar-footer-icon-row .elementor-widget-image {
        width: 45px !important; /* Ajusta el tamaño de los iconos si es necesario */
        height: 45px !important;
        margin: 0 !important; /* Elimina márgenes extra */
    }
    html body .elementor-element.elementor-element-a52b0bb .chaniar-footer-icon-row .elementor-widget-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important; /* Asegura que la imagen se vea bien dentro del tamaño */
    }

    /* Teléfonos: la columna padre fuerza text-align:center; el bloque interno debe alinear al inicio y centrarse como unidad */
    html body .elementor-element-6ffac2c1 .elementor-widget.elementor-widget-inner_section > .elementor-widget-container {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }
    html body .elementor-element-6ffac2c1 .elementor-widget-inner_section .elementor-row,
    html body .elementor-element-6ffac2c1 .elementor-widget-inner_section .elementor-widget-icon-list {
        text-align: start !important;
    }
    /* Teléfonos: inner section o contenedor E3; Elementor suele space-between + flex-grow en el texto de icon-list */
    html body .elementor-element-6ffac2c1 .elementor-inner-section > .elementor-container > .elementor-row {
        justify-content: center !important;
        column-gap: 0.65rem !important;
        row-gap: 0.35rem !important;
        flex-wrap: nowrap !important;
        width: fit-content !important;
        max-width: 100% !important;
        margin-inline: auto !important;
    }
    html body .elementor-element-6ffac2c1 .elementor-inner-section .elementor-column {
        width: auto !important;
        max-width: 100% !important;
        flex: 0 1 auto !important;
        flex-basis: auto !important;
        text-align: start !important;
    }
    html body .elementor-element-6ffac2c1 .e-con-inner.e-flex .e-con-inner.e-flex {
        justify-content: center !important;
        column-gap: 0.65rem !important;
        row-gap: 0.35rem !important;
    }
    html body .elementor-element-6ffac2c1 .e-con-inner.e-flex .e-con-inner.e-flex > .elementor-element {
        flex: 0 1 auto !important;
        width: auto !important;
        max-width: 100% !important;
    }
    html body .elementor-element-6ffac2c1 .elementor-widget-icon-list .elementor-icon-list-item > a {
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        column-gap: 0.55rem !important;
        width: auto !important;
        max-width: 100% !important;
    }
    html body .elementor-element-6ffac2c1 .elementor-widget-icon-list .elementor-icon-list-text {
        flex-grow: 0 !important;
        margin-inline-start: 0 !important;
        margin-inline-end: 0 !important;
        text-align: start !important;
    }

    /* Reset final mobile: apilar y centrar toda la grilla de contacto como bloque */
    html body .elementor-element-6ffac2c1 > .elementor-container {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: center !important;
    }
    html body .elementor-element-6ffac2c1 > .elementor-container > .elementor-column {
        width: min(100%, 22rem) !important;
        max-width: 22rem !important;
        flex: 0 0 auto !important;
        margin-inline: auto !important;
    }
    html body .elementor-element-6ffac2c1 [data-chaniar-footer-icon] {
        width: fit-content !important;
        max-width: 100% !important;
        margin-inline: auto !important;
    }
    html body .elementor-element-6ffac2c1 [data-chaniar-footer-icon="info"] .chaniar-footer-icon-row {
        width: fit-content !important;
        margin-inline: auto !important;
        justify-content: center !important;
    }
}
/* Aire inferior del footer (mismo fondo que la sección; no “tira” color nuevo) */
.elementor-element-5a5c15ec {
    padding-bottom: clamp(4.5rem, 10vw, 7.5rem) !important;
}
