:root{
  --bg:#FFFFFF;
  --text:#333333;
  --text-strong:#111827;
  --text-muted:#6B7280;
  --border:#E5E7EB;

  --violet:#A60FE9;
  --magenta:#E829C7;
  --periwinkle:#7770E9;
  --sky:#5DADF8;

  --primary:#0972D4;
  --primary-hover:#0861B4;
  --primary-pressed:#075BAA;

  --nav-gradient:linear-gradient(90deg,#A60FE9 0%,#E829C7 35%,#7770E9 70%,#5DADF8 100%);
}

/* General brand helpers */
.text-color-primary{ color: var(--primary) !important; }

/* A) Top thin bar */
.header-top-wrap{ background: var(--bg); color: var(--text-muted); border-bottom:1px solid var(--border); }
.header-top-wrap .top-message{ color: var(--text-muted); }
.header-top-wrap .top-message a{ color: var(--primary); }
.header-top-wrap .top-message a:hover{ color: var(--primary-hover); }

/* B) Header row (logo + contact info + social icons) */
.header-bottom-wrap:not(.bg-theme-default){ background: var(--bg); }
.header-bottom-wrap:not(.bg-theme-default) .info-title{ color: var(--text-strong); }
.header-bottom-wrap:not(.bg-theme-default) .info-sub-title{ color: var(--text-muted); }
.header-top-info-inner .info-item{ position:relative; }
.header-top-info-inner .info-item + .info-item{ border-left:1px solid var(--border); padding-left:16px; margin-left:16px; }
.header-top-info-inner .info-icon{ background:#EFF7FE; color:var(--primary); width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.header-social-networks .social-link, .header-social-networks .social-icon{ color: var(--text-muted); }
.header-social-networks .social-link:hover, .header-social-networks .social-link:hover .social-icon{ color: var(--violet); }

/* C) Main navigation bar */
.header-bottom-wrap.bg-theme-default{ background: var(--nav-gradient) !important; }
.navigation-menu--text_white > ul > li > a{ color:#FFFFFF; }
.navigation-menu--text_white > ul > li:hover > a{ background:rgba(255,255,255,0.12); border-radius:6px; }
.navigation-menu--text_white > ul > li > a i{ color: rgba(255,255,255,0.85); }
/* Active underline */
.navigation-menu--text_white > ul > li > a{ position:relative; }
.navigation-menu--text_white > ul > li > a::after{ content:""; position:absolute; left:12px; right:12px; bottom:6px; height:2px; background:transparent; transform:scaleX(0); transform-origin:left; transition:transform .2s ease, background-color .2s ease; }
.navigation-menu--text_white > ul > li.active > a::after,
.navigation-menu--text_white > ul > li:hover > a::after{ background:#E829C7; transform:scaleX(1); }
/* Dropdown menus */
.navigation-menu .submenu, .navigation-menu .megamenu{ background:#FFFFFF; color:var(--text-strong); border:1px solid var(--border); box-shadow:0 8px 24px rgba(17,24,39,0.12); }
.navigation-menu .submenu a, .navigation-menu .megamenu a{ color:var(--text-strong); }
.navigation-menu .submenu li:hover > a, .navigation-menu .megamenu li:hover > a{ background:#F7FBFF; color:var(--primary); }

/* D) Search box in nav */
.header-bottom-wrap.bg-theme-default .search-form-top.style-03 .search-field{
  background:rgba(255,255,255,0.16);
  border:1px solid rgba(255,255,255,0.22);
  color:#FFFFFF;
}
.header-bottom-wrap.bg-theme-default .search-form-top.style-03 .search-field::placeholder{ color:rgba(255,255,255,0.75); }
.header-bottom-wrap.bg-theme-default .search-form-top.style-03 .search-field:focus{
  outline:none; border-color:var(--sky); box-shadow:0 0 0 3px rgba(93,173,248,0.35);
}
.header-bottom-wrap.bg-theme-default .search-form-top.style-03 .search-submit .search-btn-icon{ color:#FFFFFF; }

/* E) Hero section */
.software-innovation-hero-wrapper{ background:linear-gradient(135deg, #FBF3FE 0%, #FFFFFF 45%, #F7FBFF 100%); }
.software-innovation-hero-text .sub-heading{ color:#9CA3AF; }
.software-innovation-hero-text h3, .software-innovation-hero-text h1{ color: var(--violet); }
.software-innovation-hero-text .info-heading{ color: var(--text-muted); }
.software-innovation-hero-image{ margin-left: 0; margin-right: 0; }
.software-innovation-hero-image img{ display:block; margin-left:auto; margin-right:0; width:120%; max-width:none; height:auto; }
@media only screen and (max-width: 767px){
  .software-innovation-hero-image img{ width:100%; }
}

/* Buttons (primary & optional secondary outline) */
.ht-btn{ background: var(--primary); color:#FFFFFF; border:1px solid var(--primary); }
.ht-btn:hover{ background: var(--primary-hover); border-color: var(--primary-hover); color:#FFFFFF; }
.ht-btn:active{ background: var(--primary-pressed); border-color: var(--primary-pressed); color:#FFFFFF; }
.ht-btn:focus, .ht-btn:focus-visible{ outline:none; box-shadow:0 0 0 3px rgba(9,114,212,0.35); }
/* Optional secondary outline style */
.ht-btn--outline{ background:transparent; color:var(--primary); border:1.5px solid var(--primary); }
.ht-btn--outline:hover{ background:#EFF7FE; }
.ht-btn--whatsapp{ background:#25D366; border:1px solid #25D366; color:#FFFFFF; border-radius:10px; }
.ht-btn--whatsapp:hover{ background:#1EBE5D; border-color:#1EBE5D; color:#FFFFFF; }
.ht-btn--whatsapp .btn-icon{ display:inline-flex; align-items:center; }
.ht-btn--whatsapp .btn-icon i{ color:#FFFFFF; }

/* Section backgrounds utilities */
.section-bg--soft-blue{ background:#F7FBFF; }
.section-bg--soft-violet{ background:#FBF3FE; }

/* Accent dot in hero headline */
.accent-dot{ color: var(--violet); }


/* Sticky nav retains gradient + white nav items */
.header-bottom-wrap.header-sticky.is-sticky{ background: var(--nav-gradient) !important; }
.header-sticky.is-sticky{ background: var(--nav-gradient) !important; }
.header-sticky.is-sticky .navigation-menu > ul > li > a,
.header-sticky.is-sticky .navigation-menu--text_white > ul > li > a{ color:#FFFFFF !important; }
.header-sticky.is-sticky .navigation-menu > ul > li:hover > a{ background:rgba(255,255,255,0.12); border-radius:6px; }
.header-sticky.is-sticky .navigation-menu > ul > li > a i{ color: rgba(255,255,255,0.85) !important; }
a{ color: var(--primary); }
a:hover{ color: var(--violet); }
.section-title-wrap .heading{ color: var(--text-strong); }
.section-title-wrap .section-sub-title{ color: var(--text-muted); }
.header-top-info-inner .info-icon{ background:transparent; width:auto; height:auto; border-radius:0; display:inline-flex; align-items:center; justify-content:center; color: var(--primary); margin-right:8px; }

/* Ensure animated SVG icons inside service cards display correctly */
.single-svg-icon-box .svg-icon svg{
  width:65px;
  height:65px;
  display:block;
}

/* Use brand color for line icons inside service cards */
.single-svg-icon-box .svg-icon svg path,
.single-svg-icon-box .svg-icon svg circle,
.single-svg-icon-box .svg-icon svg rect,
.single-svg-icon-box .svg-icon svg polygon,
.single-svg-icon-box .svg-icon svg polyline,
.single-svg-icon-box .svg-icon svg line,
.single-svg-icon-box .svg-icon svg ellipse{
  stroke: currentColor !important;
}

/* Default and hover color for service card icons */
.service-card .icon{ color:#0972D4; transition: color .2s ease; }
.service-card:hover .icon{ color:#A60FE9; }

/* Floating menu behavior: smooth hide/show when scrolling */
.header-sticky{ transition: transform .2s ease; will-change: transform; }
.header-sticky.hidden{ transform: translateY(-100%); }

/* CTA strip styles (WhatsApp + Calendly) */
.cta-strip{
  text-align: center;
  padding: 42px 18px;
}
.cta-strip h3{
  font-size: 28px;
  margin: 0 0 8px;
  color: #111827;
}
.cta-strip p{
  margin: 0 0 18px;
  color: #6B7280;
}
.cta-actions{
  display: inline-flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}
.btn-wa{
  padding: 14px 22px;
  border-radius: 10px;
  background: #25D366;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}
.btn-wa:hover{ filter: brightness(0.97); }
.btn-outline{
  padding: 14px 22px;
  border-radius: 10px;
  background: transparent;
  color: #0972D4;
  text-decoration: none;
  font-weight: 700;
  border: 2px solid #0972D4;
}
.btn-outline:hover{ background: rgba(9,114,212,0.08); }

@media (max-width: 575.98px){
  /* On small screens emphasize WhatsApp by stacking and allowing wider button */
  .cta-actions{ width: 100%; }
  .btn-wa, .btn-outline{ width: 100%; text-align: center; }
}

.footer-tagline{ color:#6B7280; font-weight:600; margin:-6px 0 12px; }
.footer-social .social-link .link-icon{ color:#9CA3AF; transition: color .2s ease; }
.footer-social .social-link:hover .link-icon{ color:#0972D4; }

/* Mobile sticky header */
@media (max-width: 767.98px) {
  .header-area {
    position: sticky;
    top: 0;
    z-index: 999;
    background: #fff;
  }
  .header-area.is-sticky {
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  }
}

/* Mobile menu trigger - iOS touch fix */
#mobile-menu-trigger {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
#mobile-menu-trigger i {
  pointer-events: none;
}
