/* Theme Overrides: Fresh Professional Palette */
:root{
  --brand-primary: #2563eb; /* Indigo 600 */
  --brand-primary-dark: #1e40af;
  --brand-secondary: #0ea5e9; /* Cyan 500 */
  --brand-accent: #10b981; /* Emerald 500 */
  --brand-warning: #f59e0b; /* Amber 500 */
  --brand-bg: #f8fafc; /* Slate 50 */
  --brand-text: #0f172a; /* Slate 900 */
  --brand-muted: #64748b; /* Slate 500 */
  --brand-border: #cbd5e1; /* Slate 300 */
}

/* Base typography and background */
body{
  background-color: var(--brand-bg);
  color: var(--brand-text);
}

a{ color: var(--brand-primary); }
a:hover, a:focus{ color: var(--brand-primary-dark); text-decoration: none; }

/* Navbar */
.ftco_navbar,
.navbar{ box-shadow: 0 2px 12px rgba(2,6,23,0.08); }
.bg-dark{ background-color: #0b1220 !important; } /* deep navy */
.navbar-dark .navbar-brand span,
.navbar-dark .navbar-brand{ color: #e6efff; }
.navbar-dark .navbar-nav .nav-link{ color: #dbe7ff; }
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active{ color: #ffffff; }

/* Buttons */
.btn-primary{
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
  color: #ffffff;
}
.btn-primary:hover, .btn-primary:focus{
  background-color: var(--brand-primary-dark);
  border-color: var(--brand-primary-dark);
}
.btn-secondary{
  background-color: var(--brand-secondary);
  border-color: var(--brand-secondary);
  color: #073b4c;
}
.btn-outline-primary{
  color: var(--brand-primary);
  border-color: var(--brand-primary);
}
.btn-outline-primary:hover{
  background-color: var(--brand-primary);
  color: #ffffff;
}

/* Form controls */
.form-control{
  border-color: var(--brand-border);
  color: var(--brand-text);
  background-color: #ffffff;
}
.form-control::placeholder{ color: var(--brand-muted); }
.form-control:focus{
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 .2rem rgba(37,99,235,.15);
}

/* Hero overlays tint with brand colors */
.hero-wrap .overlay,
.hero-wrap-2 .overlay,
.ftco-intro .overlay{
  background: linear-gradient(180deg, rgba(37,99,235,.50), rgba(11,18,32,.65));
}

/* Section headings and accents */
.heading-section .subheading{ color: var(--brand-secondary); }
.heading-section h2{ color: var(--brand-text); }

/* Cards and sidebar */
.sidebar-box{ background: #ffffff; box-shadow: 0 8px 24px rgba(2,6,23,0.06); }
.categories li.active a,
.sidelink li.active a{ color: var(--brand-primary) !important; }
.categories li a:hover,
.sidelink li a:hover{ color: var(--brand-primary) !important; }

/* Badge and labels */
.badge-primary{ background-color: var(--brand-primary); }
.badge-secondary{ background-color: var(--brand-secondary); }

/* Footer */
.footer{ background: #0b1220; color: #cbd5e1; }
.footer a{ color: #e2e8f0; }
.footer a:hover{ color: #ffffff; }
.footer .footer-heading{ color: #e6efff; }

/* Utility */
.bg-primary{ background-color: var(--brand-primary) !important; }
.bg-secondary{ background-color: var(--brand-secondary) !important; }
.text-primary{ color: var(--brand-primary) !important; }
.text-secondary{ color: var(--brand-secondary) !important; }
.border-primary{ border-color: var(--brand-primary) !important; }
.border-secondary{ border-color: var(--brand-secondary) !important; }

/* Custom CTA button variant used in content */
.btn-cta{
  background: linear-gradient(90deg, var(--brand-primary), var(--brand-secondary));
  color: #fff;
  border: none;
}
.btn-cta:hover{ filter: brightness(0.95); }