/* Abilabs theme overrides layered on top of Aivora styles */
:root {
  --abt-primary: #00ff9f; /* matches 01_front: --accent-1 */
  --abt-secondary: #00cfff; /* matches 01_front: --accent-3 */
  --abt-bg: #0a0e14;
  --abt-card: #111827;
  --abt-muted: #94a3b8;
  --abt-white: #ffffff;
}

/* Global background and text tone */
body {
  background-color: var(--abt-bg);
  color: var(--abt-white);
}

/* Header refinement for dark theme */
.header-area.header-transparent {
  background: transparent !important;
}
.header-area.is-sticky {
  background: transparent !important;
  backdrop-filter: none !important;
}
.xb-header {
  background: transparent !important;
}
.xb-header-area-sticky {
  background: transparent !important;
}
.header__wrap {
  background: transparent !important;
}

/* Header: padding so separation bar sits below buttons */
#xb-header-area .xb-header .container {
  padding-bottom: 20px;
}
#xb-header-area .xb-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

/* Buttons match Abilabs gradient */
.thm-btn,
.agency-btn,
.thm-btn.agency-btn {
  background: linear-gradient(
    90deg,
    var(--abt-primary) 0%,
    var(--abt-secondary) 100%
  ) !important;
  border: none !important;
  color: #0b0f15 !important;
  box-shadow: 0 0 12px rgba(0, 207, 255, 0.25) !important;
}
.thm-btn .text,
.agency-btn .text {
  color: #0b0f15 !important;
}

/* Muted text utility */
.text-muted,
.xb-item--content,
.sub-title {
  color: var(--abt-muted) !important;
}

/* Remove green dots from subtitles */
.sub-title::before,
.sub-title::after {
  display: none !important;
}

/* Cards and bordered blocks */
.xb-border,
.card,
.xb-item--inner {
  background-color: var(--abt-card);
  border-color: rgba(255, 255, 255, 0.06) !important;
}

/* Service section: card height follows content, same bg as inner (no grey bar at bottom) */
.xb-service-wrap .xb-service-item {
  height: auto !important;
  min-height: 280px;
  background: var(--abt-card) !important;
}

/* Remove gradient border pseudo-element from report cards (no grey line on left) */
.xb-service-wrap .xb-service-item.xb-border::after {
  display: none !important;
}

/* Footer adaptation */
.footer {
  color: var(--abt-white);
}
.footer a {
  color: var(--abt-secondary);
}
/* Legal links: no blue, white like copyright */
.footer a.xb-footer-legal-link {
  color: var(--abt-white) !important;
}
.footer a.xb-footer-legal-link:hover {
  color: rgba(255, 255, 255, 0.9) !important;
}
/* Legal links: bottom-left cell, column */
.xb-footer-bottom .contact-item.xb-footer-legal {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.xb-footer-bottom .xb-footer-legal-link {
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
}

/* Links */
a {
  color: var(--abt-secondary);
}
a:hover {
  color: var(--abt-primary);
}

/* Hero background image overlay tweak for better contrast */
.hero.bg_img:before {
  background: linear-gradient(
    180deg,
    rgba(10, 14, 20, 0.65) 0%,
    rgba(10, 14, 20, 0.35) 100%
  );
}

/* Hero title visible by default (WOW.js may not run in time with React) */
.hero-content .scale-animation {
  opacity: 1 !important;
  transform: rotateX(0deg) translate3d(0, 0, 0) scaleZ(1) !important;
}

/* Ensure icons and text are on the same line in feature cards */
.xb-feature-item2 .xb-item--inner {
  flex-wrap: nowrap !important;
  gap: 15px !important;
  align-items: center !important;
}
.xb-feature-item2 .xb-item--icon {
  flex-shrink: 0;
  margin-top: 0;
  display: flex;
  align-items: center;
}
.xb-feature-item2 .xb-item--title {
  flex: 1;
  white-space: normal;
  word-wrap: break-word;
  margin: 0 !important;
  line-height: 1.4;
  display: flex;
  align-items: center;
}
.xb-feature-item2 .xb-item--inner.justify-content-end {
  justify-content: flex-end !important;
}
.xb-feature-item2 .xb-item--inner.justify-content-end .xb-item--title {
  justify-content: flex-end !important;
  text-align: right !important;
}
.xb-feature-item2 .xb-item--inner.justify-content-end .xb-item--title,
.xb-feature-item2 .xb-item--inner.justify-content-end .xb-item--title * {
  text-align: right !important;
}

/* Floating animation for feature shape image */
.xb-feature-shape .shape {
  animation: float 10s ease-in-out infinite;
}
@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20px);
  }
}
