/* ==========================================================================
   1. Desbordamiento vertical en movil y tablet
   --------------------------------------------------------------------------
   El tema oculta los elementos marcados como ocultos en Elementor con
   position:absolute + visibility:hidden + text-indent:-99999px en lugar de
   display:none. El elemento sigue participando en el layout y hereda ese
   text-indent; cuando dentro hay algo rotado 90deg (los iconos del acordeon,
   con transform: rotate(-90deg)), el desplazamiento horizontal de 99999px se
   convierte en 99999px verticales. Resultado medido en /: scrollHeight de
   210494px frente a un footer que termina en 13368px, es decir ~197000px de
   scroll vacio tras el footer.

   Se restaura el ocultado real, con los mismos puntos de corte del tema.
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
    body:not(.elementor-editor-active) .elementor .elementor-hidden-tablet {
        display: none !important;
        text-indent: 0 !important;
    }
}

@media screen and (max-width: 767px) {
    body:not(.elementor-editor-active) .elementor .elementor-hidden-mobile {
        display: none !important;
        text-indent: 0 !important;
    }
}

/* ==========================================================================
   2. Bloque de contacto del menu desplegable movil
   --------------------------------------------------------------------------
   El bloque se inyecta una sola vez en el menu principal, que el tema imprime
   tanto en el header de escritorio como en el desplegable movil. Solo se
   muestra dentro del desplegable.
   ========================================================================== */

.bt-menu-contacto {
    display: none !important;
}

#pxl-header-mobile .pxl-header-menu-scroll .bt-menu-contacto {
    display: block !important;
    margin-top: 24px;
    padding: 0;
    /* El menu del tema separa sus items con un borde inferior; aqui sobra. */
    border: 0 !important;
    list-style: none;
}

/* Espacio al final del desplegable para que los botones flotantes (WhatsApp,
   accesibilidad) no tapen la ultima oficina. */
#pxl-header-mobile .pxl-header-menu-scroll {
    padding-bottom: 96px;
}

#pxl-header-mobile .bt-menu-contacto::before,
#pxl-header-mobile .bt-menu-contacto::after {
    content: none !important;
}

#pxl-header-mobile .bt-contacto {
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-size: 15px;
    line-height: 1.5;
}

#pxl-header-mobile .bt-titulo {
    margin: 0 0 8px;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.6;
}

#pxl-header-mobile .bt-lista {
    margin: 0;
    padding: 0;
    list-style: none;
}

#pxl-header-mobile .bt-lista > li {
    margin: 0 0 6px;
    padding: 0;
    border: 0;
}

#pxl-header-mobile .bt-lista > li:last-child {
    margin-bottom: 0;
}

#pxl-header-mobile .bt-lista a {
    display: inline-block;
    color: inherit;
    text-decoration: none;
    word-break: break-word;
}

#pxl-header-mobile .bt-etiqueta {
    display: inline-block;
    min-width: 46px;
    font-size: 12px;
    font-weight: 600;
    opacity: 0.6;
}

#pxl-header-mobile .bt-oficinas > li {
    margin-bottom: 12px;
}

#pxl-header-mobile .bt-ciudad {
    display: block;
    font-weight: 600;
}

#pxl-header-mobile .bt-direccion {
    display: block;
    font-size: 14px;
    opacity: 0.75;
}
