/* ============================================================
   ECOGEN — Optimización móvil
   Complementa el responsive de Elementor/Neve y ajusta nuestros
   componentes propios (carruseles de logos, páginas legales,
   banner de cookies, formularios) en pantallas pequeñas.
   ============================================================ */

/* Popups de Elementor: ocultos por defecto (el JS los abre como overlay).
   Evita que el contenido del popup aparezca suelto al final de la página. */
.elementor-location-popup { display: none !important; }
.elementor-location-popup[data-ecogen-open="1"] { display: block !important; }
/* Texto del menú del popup: TODO en blanco sobre el overlay oscuro */
.elementor-location-popup[data-ecogen-open="1"],
.elementor-location-popup[data-ecogen-open="1"] * {
  color: #fff !important;
}
.elementor-location-popup[data-ecogen-open="1"] a,
.elementor-location-popup[data-ecogen-open="1"] a:hover,
.elementor-location-popup[data-ecogen-open="1"] .elementor-heading-title,
.elementor-location-popup[data-ecogen-open="1"] .uael-menu-item,
.elementor-location-popup[data-ecogen-open="1"] .menu-item a {
  color: #fff !important;
}

/* ---------- Tablet y menos ---------- */
@media (max-width: 1024px) {
  /* Carruseles de logos: tamaño intermedio */
  .elementor-element-83217d9 .swiper-slide,
  .elementor-element-5763ab2 .swiper-slide { width: 190px !important; margin: 0 20px !important; }
  .elementor-element-83217d9 .swiper-slide img,
  .elementor-element-5763ab2 .swiper-slide img { max-height: 95px !important; max-width: 170px !important; }
}

/* ---------- Móvil ---------- */
@media (max-width: 767px) {

  /* Evita desbordes horizontales accidentales */
  html, body { overflow-x: hidden; }

  /* --- Carruseles de logos (clientes / partners) --- */
  .elementor-element-83217d9 .swiper-slide,
  .elementor-element-5763ab2 .swiper-slide { width: 140px !important; margin: 0 14px !important; }
  .elementor-element-83217d9 .swiper-slide img,
  .elementor-element-5763ab2 .swiper-slide img { max-height: 64px !important; max-width: 120px !important; }
  /* Un poco más lento se percibe mejor en pantallas chicas */
  .elementor-element-83217d9 .elementor-image-carousel { animation-duration: 55s !important; }
  .elementor-element-5763ab2 .elementor-image-carousel { animation-duration: 55s !important; }

  /* --- Páginas legales --- */
  .ecogen-legal-content { padding: 30px 16px 50px !important; }
  .ecogen-legal-content h1 { font-size: 25px !important; }
  .ecogen-legal-content h2 { font-size: 19px !important; }
  .ecogen-legal-content h3 { font-size: 16px !important; }
  .ecogen-legal-content p,
  .ecogen-legal-content li { font-size: 15px !important; }

  /* Tablas legales: etiqueta y valor apilados (sin scroll horizontal) */
  .ecogen-legal-content table,
  .ecogen-legal-content tbody,
  .ecogen-legal-content tr,
  .ecogen-legal-content th,
  .ecogen-legal-content td { display: block !important; width: 100% !important; box-sizing: border-box; }
  .ecogen-legal-content tr { margin: 0 0 12px !important; border: 1px solid #e3e6e8 !important; border-radius: 6px; overflow: hidden; }
  .ecogen-legal-content th { background: #f4f6f7 !important; border: 0 !important; font-size: 14px !important; }
  .ecogen-legal-content td { border: 0 !important; border-top: 1px solid #eef0f1 !important; font-size: 15px !important; }

  /* --- Banner de cookies: apilar y botones a ancho completo --- */
  #ecogen-cookie-banner { padding: 16px 16px; }
  #ecogen-cookie-banner .ecogen-cookie-inner { flex-direction: column; align-items: stretch; gap: 12px; }
  #ecogen-cookie-banner p { flex: none; font-size: 13px; }
  #ecogen-cookie-banner .ecogen-cookie-actions { width: 100%; }
  #ecogen-cookie-banner .ecogen-cookie-actions button { flex: 1; padding: 12px 10px; }

  /* --- Modal de configuración de cookies --- */
  #ecogen-cookie-modal .ecogen-modal-box { padding: 22px 18px; }

  /* --- Barra legal del footer: que quepa en dos líneas --- */
  #ecogen-legal-bar { font-size: 12px; line-height: 1.9; }
  #ecogen-legal-bar a { margin: 0 6px; }

  /* --- Formularios --- */
  .ecogen-consent-group .ecogen-consent-option { font-size: 13px; }
  .ecogen-form-msg { font-size: 14px; padding: 12px 14px; }

  /* --- Footer: certificaciones ISO e IAS lado a lado y más pequeñas --- */
  .elementor-element-038e186,
  .elementor-element-ec8a7b6 {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
  }
  .elementor-element-038e186 img,
  .elementor-element-ec8a7b6 img {
    max-width: 115px !important;
    margin: 0 auto !important;
  }

  /* --- Hero: texto centrado en móvil --- */
  .elementor-element-b0526c8 { background-attachment: scroll !important; }
  .elementor-element-b0526c8 .elementor-widget-container { text-align: center !important; }
  .elementor-element-b0526c8 .elementor-button-wrapper { text-align: center !important; }
}

/* ============================================================
   Menú hamburguesa (≤1024px = tablet y móvil)
   Forzamos el mostrado/ocultado con nuestra clase .ecogen-mnav-open
   (independiente del CSS interno de UAEL).
   ============================================================ */
@media (max-width: 1024px) {
  .elementor-location-header .elementor-widget-uael-nav-menu { position: relative !important; }

  /* Oculto por defecto (solo el menú del header) */
  .elementor-location-header .elementor-widget-uael-nav-menu nav.uael-nav-menu__layout-horizontal { display: none !important; }

  /* Desplegado: panel oscuro bajo el hamburguesa */
  .elementor-location-header .elementor-widget-uael-nav-menu.ecogen-mnav-open nav.uael-nav-menu__layout-horizontal {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    min-width: 250px !important;
    max-width: 92vw !important;
    z-index: 9999 !important;
    background: #1E272D !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.3) !important;
    border-radius: 4px;
    padding: 6px 0 !important;
  }
  .elementor-location-header .ecogen-mnav-open nav .uael-nav-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    flex-direction: column !important;
  }
  .elementor-location-header .ecogen-mnav-open nav .uael-nav-menu li {
    display: block !important;
    float: none !important;
    width: 100% !important;
  }
  .elementor-location-header .ecogen-mnav-open nav .uael-nav-menu li a.uael-menu-item,
  .elementor-location-header .ecogen-mnav-open nav .uael-nav-menu li a.uael-sub-menu-item {
    padding: 12px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    color: #fff !important;
    justify-content: flex-start !important;
    text-align: left !important;
    width: 100%;
  }
  /* Submenús en flujo, sin solaparse */
  .elementor-location-header .ecogen-mnav-open nav .sub-menu {
    position: static !important;
    display: block !important;
    box-shadow: none !important;
    background: rgba(0,0,0,.2) !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
