/* Ajustes responsive (tablet y móvil) — auditoría 2026-11-06.
   Corrigen rellenos y márgenes pensados para escritorio que en pantallas chicas
   dejaban tarjetas montadas, espacios vacíos enormes y formularios angostos. */

/* ---------- Tablet y móvil ---------- */
@media (max-width: 1024px) {
  /* Formulario "Postula para ser socio" (Inicio y Asociados): relleno de 50px/100px de escritorio */
  .elementor-element-14ec66b5 > .elementor-widget-wrap,
  .elementor-element-3fdade0 > .elementor-widget-wrap { padding: 30px 24px !important; }

  .itc-apply-card { padding-left: 14px !important; padding-right: 14px !important; }
  .itc-apply-card .elementor-widget-container { padding-left: 0 !important; padding-right: 0 !important; }

  /* Asociados: banner "Conecta aquí con la tecnología" ocupaba 89vh con solo 2 líneas de texto */
  .elementor-element-46396b9 > .elementor-container { min-height: 340px !important; }
}

/* ---------- Móvil ---------- */
@media (max-width: 767px) {
  .elementor-element-14ec66b5 > .elementor-widget-wrap,
  .elementor-element-3fdade0 > .elementor-widget-wrap { padding: 20px 12px !important; }


  .itc-apply-card select { font-size: 14px !important; }

  /* Contacto: fila de correo + redes en el banner; el correo va solo arriba y los 4 íconos centrados debajo */
  .elementor-element-0759f94 .elementor-icon-list-items { justify-content: center !important; }
  .elementor-element-0759f94 .elementor-icon-list-item:first-child { flex: 0 0 100% !important; justify-content: center !important; margin-bottom: 6px !important; }
  .elementor-element-0759f94 .elementor-icon-list-item:first-child::after { display: none !important; }
  .elementor-element-0759f94 .elementor-icon-list-item:nth-child(5)::after { display: none !important; }

  /* Contacto: tarjeta de newsletter muy angosta */
  .elementor-element-2e0e1218 > .elementor-widget-wrap { padding-left: 20px !important; padding-right: 20px !important; }

  /* Nosotros > Gobierno Corporativo: márgenes negativos y relleno superior de escritorio
     que montaban las fotos sobre el texto y dejaban ~240px en blanco */
  .elementor-element-5a415efa .elementor-inner-section,
  .elementor-element-6452232d .elementor-inner-section { margin-top: 0 !important; }
  .elementor-element-5a415efa .elementor-inner-section .elementor-widget-wrap,
  .elementor-element-6452232d .elementor-inner-section .elementor-widget-wrap { margin-top: 0 !important; }
  body .elementor-2200 .elementor-element.elementor-element-6c18d465 > .elementor-element-populated { margin-top: 0 !important; }
  .elementor-element-bb2fc05 > .elementor-widget-wrap,
  .elementor-element-32a7d57 > .elementor-widget-wrap { padding-top: 0 !important; }
}

/* ---------- Menú móvil/tablet: panel oscuro bajo la cabecera (antes: caja blanca flotante que tapaba logo y botón) ---------- */
@media (max-width: 1024px) {
  .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: fixed !important;
    top: var(--itc-menu-top, 84px) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100vh - var(--itc-menu-top, 84px) - 16px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    background: #0F0E37 !important;
    border: 1px solid rgba(115, 221, 201, .35);
    border-radius: 16px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .55);
    padding: 8px 0 14px;
    z-index: 9999;
  }
  .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu > li { border: 0 !important; }
  .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu > li > a.elementor-item {
    display: flex !important; align-items: center; justify-content: space-between !important;
    padding: 14px 22px; text-align: left !important;
    font-family: Jost, sans-serif; font-weight: 500; font-size: 18px; line-height: 1.2;
    color: #fff !important; background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
  }
  .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu > li > a.elementor-item:hover,
  .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu > li > a.elementor-item:focus,
  .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu > li.itc-submenu-open > a.elementor-item { color: #73DDC9 !important; }
  .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-item::after { color: #73DDC9 !important; }
  /* Submenús */
  .elementor-nav-menu--dropdown.elementor-nav-menu__container ul.sub-menu {
    background: rgba(255, 255, 255, .05) !important; border: 0 !important; box-shadow: none !important;
    position: static !important; width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 4px 0 !important;
  }
  .elementor-nav-menu--dropdown.elementor-nav-menu__container ul.sub-menu li { border: 0 !important; }
  .elementor-nav-menu--dropdown.elementor-nav-menu__container ul.sub-menu a {
    display: block; padding: 11px 22px 11px 38px; text-align: left;
    font-family: Montserrat, sans-serif; font-size: 15px; font-weight: 500;
    color: #cfd8e3 !important; background: transparent !important; border: 0 !important;
  }
  .elementor-nav-menu--dropdown.elementor-nav-menu__container ul.sub-menu a:hover { color: #73DDC9 !important; }
  /* Botón Contacto al final */
  .elementor-nav-menu--dropdown .itc-menu-cta-li { padding: 14px 18px 0; }
  .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu > li > a.itc-menu-cta {
    justify-content: center; background: #FF6D00 !important; color: #fff !important;
    border: 0; border-radius: 50px; padding: 14px 22px; font-weight: 600; letter-spacing: .02em;
  }
  .elementor-nav-menu--dropdown .itc-menu-cta-li:hover > a.itc-menu-cta { background: #ff8a33 !important; color: #fff !important; }
  /* Fondo de página no se mueve con el panel abierto */
}

/* ---------- Nosotros > Nuestra Historia (móvil): desfases verticales pensados para la línea de tiempo de escritorio ---------- */
@media (max-width: 767px) {
  .elementor-element-5a26eed9 > .elementor-widget-container,
  .elementor-element-fc67540 > .elementor-widget-container { padding-top: 0 !important; }
  .elementor-element-231df02a > .elementor-widget-container,
  .elementor-element-31dce4dd > .elementor-widget-container,
  .elementor-element-61817d2 > .elementor-widget-container,
  .elementor-element-6a83fa7 > .elementor-widget-container { margin-bottom: 4px !important; }
  .elementor-element-5a2f1cef .elementor-element-45d5fec0 > .elementor-widget-wrap > .elementor-widget { margin-bottom: 8px !important; }
  .elementor-element-5a2f1cef .elementor-element-45d5fec0 .elementor-widget-spacer { display: none !important; }
  .elementor-element-5a26eed9 > .elementor-widget-container { padding-bottom: 8px !important; }
  .elementor-element-648d4dc4 { margin-top: 40px !important; }
}

/* ---------- Escritorio: logo de la cabecera al hacer scroll, el doble de grande ---------- */
@media (min-width: 1025px) {
  .elementor-sticky--effects .logo1 img {
    transform: scale(2);
    transform-origin: 8% 50%;
    transition: transform .3s ease;
  }
}

/* ---------- Móvil: márgenes verticales de escritorio que dejaban franjas en blanco entre secciones ---------- */
@media (max-width: 767px) {
  /* Biblioteca (Contenido Técnico, Informes), Asociados (Programa de Mentorías) */
  .elementor-element-b4d7ae9, .elementor-element-9bbf99f, .elementor-element-46b75c8 { margin-top: 36px !important; }
  /* Nosotros: Squads / Actividades-Minutas */
  .elementor-element-57e0573b { margin-bottom: 30px !important; }
  .elementor-element-d676725, .elementor-element-c277318 { margin-bottom: 16px !important; }
  .elementor-element-4b06aac .elementor-widget-container,
  .elementor-element-f944ce5 .elementor-widget-container,
  .elementor-element-4b06aac .elementor-widget-wrap,
  .elementor-element-f944ce5 .elementor-widget-wrap { margin-bottom: 16px !important; }
  /* Contacto */
  .elementor-element-3faf6433 { margin-top: 24px !important; }
}

/* ---------- Footer en móvil: menos aire arriba y logo alineado con el texto ---------- */
@media (max-width: 767px) {
  body .itc-footer { padding: 36px 24px 0 !important; }
  body .itc-footer .itc-footer-main { gap: 28px !important; padding-bottom: 32px !important; }
  body .itc-footer .itc-footer-brand img { height: 88px !important; margin: -10px 0 4px -20px !important; }
}
