/* ==========================================================================
   Grupo Innova — innova-overrides.css
   Ajustes específicos del sitio que NO viven en main.css (compilado desde
   Bexon). Se carga DESPUÉS de main.css. Centraliza: mapa regional SVG,
   ajustes de altura/spacing puntuales, equal-height helpers.
   ========================================================================== */

/* --- Equal-height card rows (soluciones, empresas, liderazgo, adn, presencia hubs) */
.gi-equal-row { display: flex; flex-wrap: wrap; }
.gi-equal-row > [class*="col-"] { display: flex; }
.gi-equal-row > [class*="col-"] > * { width: 100%; }

/* Fix: base .project-item (main.css) gives .project-img height:100%, which is
   harmless with the template's default auto-height cards but breaks once
   .gi-equal-row stretches .project-item to the tallest card in the row — the
   image then consumes the entire stretched box and clips .project-content
   underneath it (title/desc/button invisible, cut off by overflow:hidden).
   Give the image a fixed height in this context and let content flow below it. */
.gi-equal-row .project-item { display: flex; flex-direction: column; }
.gi-equal-row .project-item .project-img { height: 220px; flex: 0 0 220px; }
.gi-equal-row .project-item .project-content { flex: 1 1 auto; }
@media (max-width: 575px) {
  .gi-equal-row .project-item .project-img { height: 200px; flex-basis: 200px; }
}

/* --- Soluciones: "Formas de trabajar juntos" (pricing template reframed as
   engagement models, no literal prices). Restores the spacing that the
   removed .package-price block used to provide before the CTA button. */
.gi-engagement-section .package-desc { margin: 14px 0 32px; }

/* --- Soluciones: 8-card service grid (.service-item.style-4). Base Bexon
   CSS lets .text-btn sit in normal flow right after .desc, so with titles
   of uneven length (1 vs 2 lines) and .gi-equal-row stretching each card to
   the row's tallest height, the buttons land at different vertical offsets
   per card instead of sharing a baseline. Turn the card into a flex column
   so the button is pinned to the bottom of every card in the row. */
.tj-service-section.service-4 .service-item.style-4 {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.tj-service-section.service-4 .service-item.style-4 .service-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.tj-service-section.service-4 .service-item.style-4 .text-btn {
  margin-top: auto;
  padding-top: 25px;
}

/* --- alianzas.html: dos tarjetas de ruta perfectamente simétricas ---------- */
.gi-alianzas-intro {
  max-width: 680px;
  margin: 18px auto 0;
  color: var(--tj-color-text-body);
  line-height: 1.7;
}
.gi-alianzas-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: var(--tj-color-common-white);
  border: 1px solid rgba(21, 11, 33, 0.08);
  border-radius: 12px;
  padding: 48px 44px;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.gi-alianzas-card:hover {
  border-color: rgba(59, 25, 138, 0.25);
  box-shadow: 0 20px 40px rgba(21, 11, 33, 0.06);
}
.gi-alianzas-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(59, 25, 138, 0.08);
  color: var(--tj-color-theme-primary);
  font-size: 26px;
  margin-bottom: 24px;
}
.gi-alianzas-subtitle {
  display: block;
  font-size: 15px;
  line-height: 1.5;
  color: var(--tj-color-text-body);
  margin-bottom: 12px;
}
.gi-alianzas-title {
  font-size: 28px;
  font-weight: var(--tj-fw-sbold);
  color: var(--tj-color-heading-primary);
  margin-bottom: 16px;
}
.gi-alianzas-desc {
  color: var(--tj-color-text-body);
  line-height: 1.7;
  margin-bottom: 26px;
}
.gi-alianzas-list {
  list-style: none;
  padding: 0;
  margin: 0 0 34px;
}
.gi-alianzas-list li {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
  color: var(--tj-color-text-body);
}
.gi-alianzas-list li:last-child { margin-bottom: 0; }
.gi-alianzas-list li i {
  color: var(--tj-color-theme-primary);
  font-size: 12px;
  margin-top: 6px;
}
.gi-alianzas-btn { margin-top: auto; }
@media (max-width: 767px) {
  .gi-alianzas-card { padding: 34px 26px; }
}

/* --- empresas.html: bloque "Aliado Financiero Estratégico" (Crediya).
   Visualmente distinto de las tarjetas de las seis sociedades (banner
   horizontal, no card de grid) para que se lea como un aliado externo sin
   necesidad de una nota defensiva tipo "no es una sociedad del holding". */
.gi-ally-row {
  padding: 40px 44px;
  border-radius: 16px;
  background: rgba(59, 25, 138, 0.04);
  border: 1px solid rgba(59, 25, 138, 0.1);
}
.gi-ally-title {
  font-size: 26px;
  font-weight: var(--tj-fw-sbold);
  color: var(--tj-color-heading-primary);
  margin: 8px 0 0;
}
.gi-ally-desc {
  color: var(--tj-color-text-body);
  line-height: 1.7;
  margin-bottom: 14px;
}
@media (max-width: 767px) {
  .gi-ally-row { padding: 26px 22px; }
  .gi-ally-title { margin-bottom: 6px; }
}
