/* Impulsando Datos — estilos compartidos. Archivo externo: /styles.css */
:root {
  --id-navy: #061b33;
  --id-navy-2: #0b2945;
  --id-green: #39a900;
  --id-blue-active: #168cff;
  --id-text-light: #d5e2ec;
}

/* Navegación superior del constructor */
html body .nav-wrapper .kv-ee-menu nav ul.kv-ee-menu-item-wrapper {
  display: flex !important;
  align-items: center !important;
}
html body .nav-wrapper .kv-ee-menu nav ul.kv-ee-menu-item-wrapper > li > a {
  display: inline-block !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid transparent !important;
  text-decoration: none !important;
}
html body .nav-wrapper .kv-ee-menu nav ul.kv-ee-menu-item-wrapper > li > a.kv-ee-active {
  color: var(--id-green) !important;
  border-bottom-color: transparent !important;
}
html body .nav-wrapper .kv-ee-menu nav ul.kv-ee-menu-item-wrapper > li > a:hover {
  color: var(--id-green) !important;
}

/* Pie de página real del sitio: se selecciona por ID, sin depender de .kv-main */
html body footer#contacto-impulsando {
  position: relative !important;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(135deg, var(--id-navy-2) 0%, var(--id-navy) 100%) !important;
  color: var(--id-text-light) !important;
  border-top: 4px solid var(--id-green) !important;
  padding-top: 0 !important;
}
html body footer#contacto-impulsando::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -110px;
  bottom: -140px;
  width: 220px;
  height: 220px;
  border: 1px solid rgba(57,169,0,.16);
  border-radius: 50%;
  pointer-events: none;
}
html body footer#contacto-impulsando .kv-ee-container {
  position: relative;
  z-index: 1;
}
html body footer#contacto-impulsando .kv-ee-top-footer {
  display: block !important;
  width: 100%;
}
html body footer#contacto-impulsando .kv-ee-top-footer nav ul {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center;
  gap: 10px 28px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 18px 0 28px !important;
  border-bottom: 1px solid rgba(213,226,236,.2);
}
html body footer#contacto-impulsando .kv-ee-top-footer nav ul li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body footer#contacto-impulsando .kv-ee-top-footer nav a {
  display: inline-block;
  color: #eaf1f7 !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
  padding: 0 0 7px !important;
}
html body footer#contacto-impulsando .kv-ee-top-footer nav a:hover,
html body footer#contacto-impulsando .kv-ee-top-footer nav a.kv-ee-active {
  color: #d9f5cc !important;
  border-bottom-color: var(--id-green) !important;
}
html body footer#contacto-impulsando .kv-ee-row {
  padding-left: 15px;
  padding-right: 15px;
}
html body footer#contacto-impulsando .kv-ee-title {
  color: #fff !important;
}
html body footer#contacto-impulsando .kv-ee-opaque,
html body footer#contacto-impulsando p,
html body footer#contacto-impulsando address {
  color: var(--id-text-light) !important;
  opacity: 1 !important;
}
html body footer#contacto-impulsando a {
  overflow-wrap: anywhere;
}
html body footer#contacto-impulsando .kv-ee-buttons a {
  color: #f3f7fa !important;
}
html body footer#contacto-impulsando hr.kv-ee-line {
  border: 0 !important;
  border-top: 1px solid rgba(213,226,236,.2) !important;
  margin: 0 0 18px !important;
  width: 100% !important;
}
html body footer#contacto-impulsando .kv-ee-subfooter {
  background: rgba(0,0,0,.12) !important;
  border-top: 1px solid rgba(213,226,236,.16);
  color: var(--id-text-light) !important;
}
html body footer#contacto-impulsando .kv-ee-subfooter a {
  color: var(--id-text-light) !important;
}

@media (max-width: 767px) {
  html body footer#contacto-impulsando .kv-ee-top-footer nav ul {
    gap: 12px 20px !important;
    padding-bottom: 20px !important;
  }
  html body footer#contacto-impulsando .kv-ee-row {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Quitar la onda generada por el constructor en la sección que contiene el pie.
   Se conserva el fondo de la sección y la línea verde del footer. */
html body section.background-id_3.section-16.bajigu69 {
  background-image: none !important;
  clip-path: none !important;
  mask-image: none !important;
}
html body section.background-id_3.section-16.bajigu69::before,
html body section.background-id_3.section-16.bajigu69::after,
html body section.background-id_3.section-16.bajigu69 > svg,
html body section.background-id_3.section-16.bajigu69 > .kv-background::before,
html body section.background-id_3.section-16.bajigu69 > .kv-background::after,
html body section.background-id_3.section-16.bajigu69 > .kv-background > svg,
html body section.background-id_3.section-16.bajigu69 .kv-background-inner::before,
html body section.background-id_3.section-16.bajigu69 .kv-background-inner::after,
html body section.background-id_3.section-16.bajigu69 [class*="divider"],
html body section.background-id_3.section-16.bajigu69 [class*="wave"],
html body section.background-id_3.section-16.bajigu69 [class*="shape"] {
  display: none !important;
  content: none !important;
  background-image: none !important;
  clip-path: none !important;
  mask-image: none !important;
}

/* Márgenes consistentes del pie: contenido centrado y franja legal alineada */
html body footer#contacto-impulsando {
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
html body footer#contacto-impulsando > .kv-ee-container {
  width: min(100% - 48px, 1180px) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
html body footer#contacto-impulsando .id-legal-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px 32px !important;
  width: 100% !important;
  max-width: 1180px !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  padding: 18px 24px !important;
  border-top: 1px solid rgba(213,226,236,.16) !important;
  background: transparent !important;
}
html body footer#contacto-impulsando .id-legal-main {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px 22px !important;
  min-width: 0 !important;
}
html body footer#contacto-impulsando .id-legal-main h4 {
  margin: 0 !important;
  color: var(--id-green) !important;
  font-size: .85rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}
html body footer#contacto-impulsando .id-legal-main ul {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px 22px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body footer#contacto-impulsando .id-legal-main li { margin: 0 !important; padding: 0 !important; }
html body footer#contacto-impulsando .id-legal-main a {
  color: var(--id-text-light) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html body footer#contacto-impulsando .id-copyright {
  margin: 0 !important;
  flex: 0 0 auto !important;
  text-align: right !important;
  color: var(--id-text-light) !important;
  white-space: normal !important;
}
@media (max-width: 767px) {
  html body footer#contacto-impulsando > .kv-ee-container {
    width: calc(100% - 32px) !important;
  }
  html body footer#contacto-impulsando .id-legal-footer {
    display: block !important;
    padding: 18px 16px !important;
  }
  html body footer#contacto-impulsando .id-legal-main { align-items: flex-start !important; }
  html body footer#contacto-impulsando .id-legal-main ul { gap: 10px 16px !important; }
  html body footer#contacto-impulsando .id-copyright { margin-top: 18px !important; text-align: left !important; }
}

/* Alinear el contenido y la franja legal en el mismo eje. */
html body footer#contacto-impulsando > .kv-ee-container {
  width: min(calc(100% - 48px), 1000px) !important;
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
html body footer#contacto-impulsando .id-legal-footer {
  width: 100% !important;
  max-width: 1000px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 767px) {
  html body footer#contacto-impulsando > .kv-ee-container { width: calc(100% - 32px) !important; }
  html body footer#contacto-impulsando .id-legal-footer { padding-left: 0 !important; padding-right: 0 !important; }
}


/* v8: logo central completo y título con el azul institucional del logotipo */
html body section.section-22 .kv-ee-row > .kv-ee-col-sm-6:first-child {
  min-width: 0 !important;
  overflow: visible !important;
}
html body section.section-22 .kv-ee-row > .kv-ee-col-sm-6:first-child > div,
html body section.section-22 .kv-ee-row > .kv-ee-col-sm-6:first-child [data-aspect-ratio] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}
html body section.section-22 .kv-ee-bg-cover.kv-ee-bg-image.kv-ee-content-image[data-src="/images/ID_Logo.svg"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: clamp(250px, 30vw, 390px) !important;
  min-height: 0 !important;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  overflow: visible !important;
}
html body section.section-22 h2.kv-ee-section-title {
  color: #061B33 !important;
}
@media (max-width: 767px) {
  html body section.section-22 .kv-ee-bg-cover.kv-ee-bg-image.kv-ee-content-image[data-src="/images/ID_Logo.svg"] {
    height: clamp(180px, 55vw, 280px) !important;
  }
}


/* v9: evitar una segunda línea azul en el enlace activo del menú principal */
html body .nav-wrapper .kv-ee-menu nav ul.kv-ee-menu-item-wrapper > li > a.kv-ee-active::before,
html body .nav-wrapper .kv-ee-menu nav ul.kv-ee-menu-item-wrapper > li > a.kv-ee-active::after {
  content: none !important;
  display: none !important;
}
