/* ------------------------------
   COUNTERS (About) - legibilidad
   ------------------------------ */
.counter-section.style-33,
.counter-section.style-33 .counter-text,
.counter-section.style-33 .counter-text h1,
.counter-section.style-33 .counter-title h3,
.counter-section.style-33 .counter-title h4,
.counter-section.style-33 .counter-text span{
  color: #0C2E51 !important;
}

/* ------------------------------
   "Método de trabajo" (About) - texto legible sobre fondo oscuro
   ------------------------------ */
.testimonial-area .testi-counter-title h3,
.testimonial-area .testi-counter-title p{
  color: #ffffff !important;
}
.testimonial-area .testi-counter-box{
  background: rgba(12, 46, 81, 0.18);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  padding: 16px 14px;
}

/* ------------------------------
   FAQ / ACCORDION (Mobile)
   ------------------------------ */
@media (max-width: 575px){
  /* más espacio para evitar colisiones de iconos decorativos */
  .accordion .accordion-button{
    padding-left: 3.25rem !important;
  }
  /* reduce/hide decorativos que invaden */
  .accordion .accordion-button::before,
  .accordion .accordion-button::after{
    opacity: .0 !important;
  }
}

/* ------------------------------
   NEWSLETTER (Footer block)
   ------------------------------ */
    .subscribe-area .subscribe_form{
        display:flex;  
        gap: 10px;  
        flex-wrap: wrap;
    }
    
    .subscribe-area .subscribe_form input[type="email"]{
      flex: 1 1 220px;
      min-width: 220px;
    }
    .subscribe-area .subscribe_form .btn,
    .subscribe-area .subscribe_form button{
      flex: 0 0 auto;
    }
    
    /* Mensaje de estado unificado */
    #newsletterStatus{
      font-weight: 600;
      line-height: 1.35;
    }
    
    /* Corrección visual newsletter en móvil (botón no debe encimarse) */
    @media (max-width: 575px){
      .subscribe-area .subscribe_form{
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        align-items: stretch !important;
      }
    
      .subscribe-area .subscribe_form input[type="email"]{
        width: 100% !important;
        display: block !important;
        min-width: 0 !important; /* evita forzar layout raro */
      }
    
      /* Incluye el botón real (.btnn) y neutraliza desplazamientos */
      .subscribe-area .subscribe_form .btn,
      .subscribe-area .subscribe_form button,
      .subscribe-area .subscribe_form .btnn{
        width: 100% !important;
        display: block !important;
        position: static !important;
        transform: none !important;
        margin: 0 !important;
        float: none !important;
      }
    }

/* ==============================
   FIXES (V3) - Mobile/UI
   ============================== */

/* Accordion icon (question.png) must not grow with multi-line titles */
.accordion li a span:after{
  width: 22px !important;
  height: 22px !important;
  left: -36px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background-size: 22px 22px !important;
}

/* Prevent horizontal scroll on small screens */
/* html, body{ overflow-x:hidden; } */

/* Counter section: keep text readable and aligned on mobile */
.counter-container .counter-text h1{ line-height:1; }
@media (max-width: 767.98px){
  .counter-container .counter-single-item-inner{ justify-content:center; }
  .counter-container .counter-title{ text-align:left; }
}

/* Ensure service buttons are always clickable above decorative shapes */
.service-button a{ position:relative; z-index:3; }


/* Brand institucional (SVG text) */
.brand-thumb.brand-logo svg{
  width: 100%;
  max-width: 220px;
  height: 48px;
}
.brand-thumb.brand-logo{
  color: rgba(0,0,0,0.35);
  opacity: 0.75;
  display:flex;
  align-items:center;
  justify-content:center;
}
.brand-section{
  overflow:hidden;
}
.brand-section .brand-single-box{
  padding: 10px 0;
}
.brand-section .brand-thumb.brand-logo svg text{
  fill: currentColor;
}

/* ==========================================================
   EIVAA — MeanMenu móvil (ÚNICO BLOQUE)
   - Logo centrado arriba (barra superior)
   - Franja inferior azul oscuro con hamburguesa
   - Dropdown visible encima del hero
   ========================================================== */
@media (max-width: 991px){

    .mobile-menu-area,
      .mean-container,
      .mean-container .mean-bar{
        width: 100% !important;
        max-width: 100% !important;
      }
    
      .mobile-menu-area{
        padding-left: 0 !important;
        padding-right: 0 !important;
      }
    
  /* Header por encima del hero (sticky real en móvil) */
    .header-area{
      position: relative !important;
      z-index: 9998 !important;
    }
    
    /* MeanMenu móvil fijo tipo sticky (sin romper layout) */
    .mobile-menu-area.sticky{
      position: sticky !important;
      top: 0 !important;
      z-index: 9999 !important;
    }

  /* Logo centrado en la barra superior */
  .header-area .logo{
    width: 100%;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  /* Franja inferior del menú*/
  .mobile-menu-area{
    background: #0b1430 !important;
    height: 54px !important;
    position: relative !important;
    z-index: 9999 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Barra de MeanMenu dentro de la franja */
  .mean-container{
    position: relative !important;
    z-index: 10001 !important;
  }

  .mean-container .mean-bar{
    position: relative !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    z-index: 10001 !important;
    display: flex !important;
    align-items: center !important;
  }

  /* ===== Logo en la barra del menú (reemplaza texto “EIVAA”) ===== */

  /* Quita el texto del plugin (si aparece como ::before en mean-bar) */
  .mean-container .mean-bar::before{
    content: none !important;
    display: none !important;
  }

  /* Inserta el logo como pseudo-elemento */
  .mean-container .mean-bar::after{
    content: "" !important;
    display: block !important;
    width: 160px !important;
    height: 34px !important;
    margin-left: 14px !important;
    background: url("../images/logo2.png") no-repeat left center !important;
    background-size: contain !important;
    padding-right: 70px !important;  /* espacio para la hamburguesa */
    padding-left: 14px !important;
  }

  /* Botón hamburguesa (sin “botón azul”) */
  .mean-container .mean-bar a.meanmenu-reveal{
    position: absolute !important;
    right: 14px !important;
    left: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    display: block !important;
    z-index: 10002 !important;

    background: transparent !important; /* <- adiós botón azul */
    font-size: 0 !important;
    color: transparent !important;
    overflow: hidden !important;
  }

  /* Oculta spans del plugin y dibuja el icono centrado */
  .mean-container .mean-bar a.meanmenu-reveal span{
    display: none !important;
  }

  .mean-container .mean-bar a.meanmenu-reveal::before{
    content: "" !important;
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    top: 50% !important;             /* <- centrado correcto */
    height: 2px !important;
    background: #ffffff !important;
    transform: translateY(-50%) !important;
    box-shadow: 0 -8px 0 #ffffff, 0 8px 0 #ffffff !important;
  }

  .mean-container .mean-bar a.meanmenu-reveal::after{
    content: none !important;
  }

  /* Dropdown encima del contenido */
  .mean-container .mean-nav{
    position: absolute !important;
    top: 54px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 10003 !important;
    background: #0C2E51 !important;
  }

  .mean-container .mean-nav ul{
    max-height: calc(100vh - 54px) !important;
    overflow: auto !important;
  }

  /* Evita que overlays del hero tapen clics */
  .slider-area::before,
  .slider-area::after{
    pointer-events: none !important;
  }

  .slider-area{
    position: relative !important;
    z-index: 1 !important;
  }
  
  /* Evita que capas internas del HERO se salgan y muestren el body */
  .slider-area{
    overflow: hidden !important;
  }
}

/* ------------------------------
   Footer Legal Links (color blanco elegante)
   ------------------------------ */
.footer-bottom-content-copy a{
  color: #ffffff !important;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.footer-bottom-content-copy a:hover{
  opacity: 0.8;
  text-decoration: underline;
}

/* =========================
   WhatsApp Floating Button
   ========================= */
.whatsapp-float{
  position: fixed;
  bottom: 25px;
  right: 25px;
  width: 58px;
  height: 58px;
  background-color: #25D366;
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.25);
  z-index: 9999;
  transition: all 0.3s ease;
}

.whatsapp-float:hover{
  transform: scale(1.08);
  color: #ffffff;
}

/* Ajuste en móvil para no chocar con footer */
@media (max-width: 576px){
  .whatsapp-float{
    bottom: 20px;
    right: 18px;
    width: 54px;
    height: 54px;
    font-size: 26px;
  }
}