/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/

/* ==========================================================
   Maptify · Ajustes responsive (27/10/2026)
   ========================================================== */

/* Indice "En esta pagina" (legales): icono mas pequeño en movil */
@media (max-width: 767px) {
  .elementor-toc__toggle-button svg {
    width: 14px !important;
    height: 14px !important;
  }
}

/* Menu burger alineado a la derecha (movil) */
@media (max-width: 1024px) {
  .elementor-element-7968c59 .elementor-menu-toggle {
    margin-left: auto !important;
    margin-right: 0 !important;
  }
}

/* Home: mismo margen superior que inferior en la seccion Especializacion (movil) */
@media (max-width: 767px) {
  .elementor-element-home-especializacion > .e-con-inner {
    padding-top: 56px !important;
  }
}

/* Sobre nosotros: mismo margen superior que inferior en "Por que nos enfocamos" (movil) */
@media (max-width: 767px) {
  .elementor-element-sobre-manifiesto > .e-con-inner {
    padding-top: 56px !important;
  }
}

/* Footer (movil): menos espacio y favicon pequeño alineado a la izquierda */
@media (max-width: 767px) {
  .elementor-element-mp-pie .elementor-element-2124706 {
    row-gap: 28px !important;
  }
  .elementor-element-mp-pie .elementor-element-ee79ca7 {
    row-gap: 8px !important;
    align-items: flex-start !important;
  }
  .elementor-element-mp-pie .elementor-element-91f02a6 {
    text-align: left !important;
  }
  .elementor-element-mp-pie .elementor-element-91f02a6 img {
    width: 56px !important;
    max-width: 56px !important;
    height: auto !important;
  }
  .elementor-element-mp-pie .elementor-element-3577c03 {
    row-gap: 20px !important;
  }
  .elementor-element-mp-pie .e-con-inner {
    row-gap: 28px !important;
  }
}

/* Banners finales: ocultar la imagen pequeña en tablet y movil */
@media (max-width: 1024px) {
  .elementor-element-home-competencia img,
  .elementor-element-home-respuestas img {
    display: none !important;
  }
}
/* Sobre nosotros: menos espacio entre el titulo "Lo que diferencia" y su texto (movil) */
@media (max-width: 767px) {
  .elementor-element-sobre-diferencia .elementor-element-2bd50e1 {
    row-gap: 14px !important;
  }
}

/* Servicios: ocultar las imagenes pequenas del bloque final "Otros servicios" en tablet y movil */
@media (max-width: 1024px) {
  .elementor-element-sv-otros img {
    display: none !important;
  }
}

/* ==========================================================
   Ajustes v6 (27/10/2026): acordeon sin borde, footer, banners
   ========================================================== */

/* Sobre nosotros: acordeones de principios sin borde (movil) */
@media (max-width: 767px) {
  .mp-principios-movil .e-n-accordion-item,
  .mp-principios-movil .e-n-accordion-item-title,
  .mp-principios-movil .e-n-accordion-item-content {
    border: 0 !important;
    box-shadow: none !important;
  }
}

/* Footer (movil): menos espacio entre componentes */
@media (max-width: 767px) {
  .elementor-element-mp-pie .e-con-inner,
  .elementor-element-mp-pie .elementor-element-2124706 {
    row-gap: 20px !important;
  }
  .elementor-element-mp-pie .elementor-element-2124706 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .elementor-element-mp-pie .elementor-element-3577c03 {
    row-gap: 12px !important;
  }
  .elementor-element-mp-pie .elementor-element-63ce491,
  .elementor-element-mp-pie .elementor-element-66fda5b,
  .elementor-element-mp-pie .elementor-element-1baa802 {
    row-gap: 8px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Home: banner "Tu competencia" con el mismo margen arriba y abajo (movil) */
@media (max-width: 767px) {
  .elementor-element-home-competencia > .e-con-inner {
    padding-top: 56px !important;
    padding-bottom: 42px !important;
  }
  .elementor-element-home-competencia .elementor-element-7aef7b9 {
    row-gap: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .elementor-element-home-competencia .elementor-element-56faf36 {
    display: none !important;
  }
  .elementor-element-home-competencia .elementor-element-43a16e6 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Home: banner "Tu negocio necesita respuestas" con menos margen superior (movil) */
@media (max-width: 767px) {
  .elementor-element-home-respuestas > .e-con-inner {
    padding-top: 24px !important;
  }
  .elementor-element-home-respuestas .elementor-element-15b0bcd {
    row-gap: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .elementor-element-home-respuestas .elementor-element-f68f2c7 {
    display: none !important;
  }
  .elementor-element-home-respuestas .elementor-element-d09a3e1 {
    padding-top: 0 !important;
  }
}

/* Home: ocultar "mockup listos para ser" en tablet y movil */
@media (max-width: 1024px) {
  .elementor-element-home-cta img {
    display: none !important;
  }
}

/* Contacto: "Pide tu auditoria gratuita" con menos margen arriba y abajo (movil) */
@media (max-width: 767px) {
  .elementor-element-contacto-formulario > .e-con-inner {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .elementor-element-contacto-formulario .elementor-element-d0e692a {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .elementor-element-contacto-formulario > .e-con-inner {
    row-gap: 24px !important;
  }
  .elementor-element-contacto-formulario .elementor-element-c66c26c {
    padding-top: 0 !important;
  }
  .elementor-element-contacto-formulario .elementor-element-ef950d3,
  .elementor-element-contacto-formulario .elementor-element-46b34f3 {
    padding-bottom: 0 !important;
  }
}
/* v7 (27/10/2026, movil): sin bordes en acordeon de principios; menos espacio bajo indicadores de contacto */
@media (max-width: 767px) { .mp-principios-movil, .mp-principios-movil * { border:0 !important; box-shadow:none !important; outline:0 !important; } }
@media (max-width: 767px) { .elementor-element-contacto-hero > .e-con-inner { padding-bottom:16px !important; } }

/* v8 (27/10/2026, movil): servicios sv-para-quien mas compacto; footer mas compacto y globo alineado a la izquierda */
@media (max-width: 767px) {
 .elementor-element-sv-para-quien > .e-con-inner { padding-top:32px !important; padding-bottom:32px !important; row-gap:24px !important; }
 .elementor-element-sv-para-quien > .e-con-inner > .e-con:first-child { row-gap:12px !important; }
 .elementor-element-sv-para-quien > .e-con-inner > .e-con:nth-child(2) { row-gap:8px !important; }
 .elementor-element-sv-para-quien > .e-con-inner > .e-con:nth-child(2) > .e-con { padding-top:16px !important; padding-bottom:16px !important; row-gap:8px !important; }
 .elementor-element-mp-pie > .e-con { padding-bottom:72px !important; }
 .elementor-element-mp-pie .elementor-element-91f02a6 { margin-left:-10px !important; }
}

/* v9 (27/10/2026, movil): relleno inferior del footer */
@media (max-width: 767px) { .elementor-element-mp-pie > .e-con > .e-con-inner { padding-bottom:72px !important; } }

/* v10 (27/10/2026, movil): relleno inferior del footer (selector corregido) */
@media (max-width: 767px) { .elementor-element-mp-pie > .e-con-inner { padding-bottom:72px !important; } }

/* v11 (27/10/2026, movil): acordeones sin borde en servicios y home */
@media (max-width: 767px) { .mp-acordeon-movil, .mp-acordeon-movil * { border:0 !important; box-shadow:none !important; outline:0 !important; } }

/* v12 (27/10/2026, movil): titulo de acordeon legible sobre fondo oscuro */
@media (max-width: 767px) { .mp-acordeon-movil .e-n-accordion-item-title-text { color:#f5f3fb !important; } }

/* v13 (27/10/2026, movil): titulo de acordeon oscuro en seccion clara de proceso; parrafos de intro de servicios mas juntos */
@media (max-width: 767px) { .elementor-element-sv-proceso .mp-acordeon-movil .e-n-accordion-item-title-text { color:#0e0e10 !important; } .elementor-element-sv-intro > .e-con-inner > .e-con:nth-child(2) { row-gap:12px !important; } }

/* v14 (27/10/2026, movil): titulo de acordeon oscuro en seccion clara de home-metodo */
@media (max-width: 767px) { .elementor-element-home-metodo .mp-acordeon-movil .e-n-accordion-item-title-text { color:#0e0e10 !important; } }

/* v15 (27/10/2026, movil): tarjetas de frentes sin altura minima (solo contenido) */
@media (max-width: 767px) { .elementor-element-sv-frentes .e-con { min-height:0 !important; } }

/* v17 (27/10/2026, movil): menos espacio entre bloques de tarjetas sv-saber (borde se mantiene) */
@media (max-width: 767px) { .elementor-element-sv-saber .e-con:has(> .e-con > .elementor-widget-heading) { row-gap:16px !important; } .elementor-element-sv-saber .e-con:has(> .elementor-widget-heading + .elementor-widget-text-editor) { row-gap:6px !important; } }

/* v18 (27/10/2026, movil): menos espacio entre imagen de cabecera y primer titulo de servicios */
@media (max-width: 767px) { .elementor-element-sv-hero > .e-con-inner { padding-bottom:16px !important; } .elementor-element-sv-intro > .e-con-inner { padding-top:24px !important; } }

/* v19 (27/10/2026, movil): menos espacio entre titulo de intro y su parrafo en servicios */
@media (max-width: 767px) { .elementor-element-sv-intro > .e-con-inner { row-gap:16px !important; } .elementor-element-sv-intro > .e-con-inner > .e-con:nth-child(2) { padding-top:0 !important; } }

/* v20 (27/10/2026, movil): menos espacio sobre las migas de pan en servicios */
@media (max-width: 767px) { .elementor-element-sv-hero > .e-con-inner { padding-top:72px !important; } }

/* v21 (27/10/2026): fondo de foto oculto en secciones finales (tablet y movil); menos espacio en servicios de la home (movil) */
@media (max-width: 767px) { .elementor-element-home-servicios > .e-con-inner { row-gap:16px !important; } .elementor-element-home-servicios > .e-con-inner > .e-con:nth-child(2) { padding-top:0 !important; } }
