/* InovexaDigital native Elementor compatibility.
 * Keeps the original theme layout classes working when those classes are
 * attached to Elementor Flexbox Containers and native Elementor widgets.
 */
.elementor .e-con.hero,
.elementor .e-con.split-section,
.elementor .e-con.service-grid,
.elementor .e-con.process-grid,
.elementor .e-con.value-grid,
.elementor .e-con.pricing-grid,
.elementor .e-con.about-grid,
.elementor .e-con.contact-grid,
.elementor .e-con.service-detail-grid,
.elementor .e-con.seo-stack {
  display: grid !important;
}

.elementor .e-con.hero { grid-template-columns: 1.02fr .98fr !important; }
.elementor .e-con.split-section { grid-template-columns: .9fr 1.1fr !important; }
.elementor .e-con.service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.elementor .e-con.process-grid,
.elementor .e-con.value-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.elementor .e-con.pricing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.elementor .e-con.pricing-grid.wide { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.elementor .e-con.about-grid,
.elementor .e-con.contact-grid,
.elementor .e-con.service-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.elementor .e-con.seo-stack { grid-template-columns: 1fr !important; }

.elementor .e-con.hero-actions,
.elementor .e-con.trust-strip,
.elementor .e-con.stats-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
}
.elementor .e-con.hero-actions,
.elementor .e-con.trust-strip,
.elementor .e-con.stats-row { flex-wrap: wrap !important; }

.elementor .e-con.section-heading,
.elementor .e-con.hero-content,
.elementor .e-con.page-hero,
.elementor .e-con.cta-band,
.elementor .e-con.price-card,
.elementor .e-con.service-card,
.elementor .e-con.detail-card,
.elementor .e-con.process-card,
.elementor .e-con.value-card,
.elementor .e-con.contact-panel {
  flex-direction: column;
}

.elementor-widget.inovexa-native-button {
  width: auto;
  max-width: 100%;
}
.elementor-widget.inovexa-native-button .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--inovexa-button-radius, 999px);
  padding: 13px 22px;
  font-weight: 900;
  line-height: 1.2;
  transition: .3s;
  text-decoration: none;
}
.elementor-widget.inovexa-native-button.inovexa-btn-primary .elementor-button {
  background: linear-gradient(135deg, var(--orange), var(--gold));
  color: #071d40;
  box-shadow: 0 16px 40px rgba(255,159,0,.25);
}
.elementor-widget.inovexa-native-button.inovexa-btn-secondary .elementor-button {
  background: #fff;
  border: 1px solid var(--line);
  color: var(--navy);
  box-shadow: 0 14px 30px rgba(5,24,54,.06);
}
.elementor-widget.inovexa-native-button .elementor-button:hover { transform: translateY(-3px); }

/* Let migrated text widgets inherit the theme typography rather than Elementor defaults. */
.elementor .elementor-widget-text-editor { color: inherit; font: inherit; }
.elementor .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor .e-con.inovexa-hidden-seo-copy { display: none !important; }

@media (max-width:1050px) {
  .elementor .e-con.hero,
  .elementor .e-con.split-section,
  .elementor .e-con.about-grid,
  .elementor .e-con.contact-grid { grid-template-columns: 1fr !important; }
  .elementor .e-con.service-grid,
  .elementor .e-con.process-grid,
  .elementor .e-con.value-grid,
  .elementor .e-con.pricing-grid,
  .elementor .e-con.pricing-grid.wide { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width:720px) {
  .elementor .e-con.service-grid,
  .elementor .e-con.process-grid,
  .elementor .e-con.value-grid,
  .elementor .e-con.pricing-grid,
  .elementor .e-con.pricing-grid.wide,
  .elementor .e-con.service-detail-grid { grid-template-columns: 1fr !important; }
  .elementor .e-con.hero-actions { flex-direction: column !important; align-items: stretch; }
  .elementor-widget.inovexa-native-button { width: 100%; }
  .elementor-widget.inovexa-native-button .elementor-button { width: 100%; }
}

/* 1.9.0 premium home layouts when markup is represented as Elementor Containers. */
.elementor .e-con.inovexa-home-hero,
.elementor .e-con.growth-engine-grid,
.elementor .e-con.premium-service-grid,
.elementor .e-con.four-d-track,
.elementor .e-con.why-inovexa-section,
.elementor .e-con.inovexa-bento-grid { display:grid !important; }
.elementor .e-con.inovexa-home-hero { grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr) !important; }
.elementor .e-con.growth-engine-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
.elementor .e-con.premium-service-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.elementor .e-con.four-d-track { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
.elementor .e-con.why-inovexa-section { grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr) !important; }
.elementor .e-con.inovexa-bento-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.elementor .e-con.inovexa-home-hero-stage { display:grid !important; place-items:center; }
.elementor .e-con.inovexa-home-hero-copy,
.elementor .e-con.hero-core-card,
.elementor .e-con.floating-data-card,
.elementor .e-con.growth-engine-card,
.elementor .e-con.premium-service-card,
.elementor .e-con.four-d-step,
.elementor .e-con.why-inovexa-intro,
.elementor .e-con.bento-card { flex-direction:column; }
.elementor .elementor-widget.core-logo img { width:132px;height:132px;object-fit:contain; }
.elementor .elementor-widget.premium-3d-logo img { width:92px;height:92px;object-fit:contain; }
.elementor .elementor-widget.service-text-link a { color:inherit; }
@media(max-width:1100px){.elementor .e-con.inovexa-home-hero,.elementor .e-con.why-inovexa-section{grid-template-columns:1fr !important}.elementor .e-con.growth-engine-grid,.elementor .e-con.four-d-track{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media(max-width:720px){.elementor .e-con.growth-engine-grid,.elementor .e-con.premium-service-grid,.elementor .e-con.four-d-track,.elementor .e-con.inovexa-bento-grid{grid-template-columns:1fr !important}.elementor .elementor-widget.core-logo img{width:100px;height:100px}.elementor .elementor-widget.premium-3d-logo img{width:74px;height:74px}}
.elementor .e-con.data-index,
.elementor .e-con.card-index,
.elementor .e-con.service-number,
.elementor .e-con.step-node,
.elementor .e-con.bento-index { align-items:center;justify-content:center; }
.elementor .e-con.data-index > .elementor-element,
.elementor .e-con.card-index > .elementor-element,
.elementor .e-con.service-number > .elementor-element,
.elementor .e-con.step-node > .elementor-element,
.elementor .e-con.bento-index > .elementor-element { width:auto;max-width:100%;margin:0;text-align:center; }

/* 1.9.1 Elementor visibility/brand/mobile overrides. */
.elementor .e-con.inovexa-home-hero-stage > .elementor-element,
.elementor .e-con.growth-engine-card > .elementor-element,
.elementor .e-con.premium-service-card > .elementor-element,
.elementor .e-con.four-d-step > .elementor-element,
.elementor .e-con.bento-card > .elementor-element,
.elementor .e-con.price-card > .elementor-element{max-width:100%}

.elementor .e-con.home-services-4d .elementor-widget-text-editor,
.elementor .e-con.home-services-4d .elementor-widget-text-editor p,
.elementor .e-con.premium-cta .elementor-widget-text-editor,
.elementor .e-con.premium-cta .elementor-widget-text-editor p{color:#f7fbff !important}

@media(max-width:720px){
  .elementor .e-con.inovexa-home-hero-stage{display:flex !important;flex-direction:column !important;gap:12px !important;min-height:0 !important}
  .elementor .e-con.floating-data-card{position:relative !important;inset:auto !important;width:100% !important;transform:none !important}
  .elementor .e-con.hero-core-card{width:100% !important;transform:none !important}
  .elementor .e-con.inovexa-home-hero{gap:30px !important}
  .elementor .e-con.inovexa-home-hero-copy{padding:22px 18px !important}
}
