/* ============================================
   NASL Brand Theme Override — v5
   Paste ALL into: Appearance → Additional CSS
   ============================================ */

:root {
  --nasl-deep: #150F22;
  --nasl-card: #1E162B;
  --nasl-btn: #5F1CB8;
  --nasl-btn-hover: #C67DCE;
  --nasl-purple: #C67DCE;
  --nasl-lav: #F690FF;
  --nasl-text: #FFFFFF;
  --nasl-muted: #FFFFFF;
  --nasl-border: #332B3B;
}

html { scroll-behavior: smooth; }

html, body, body.home, body.page, body.single, body.archive,
body.category, body.search, body.error404,
#wrapper, #main, main, .site, .content, .entry-content {
  background-color: #150F22 !important;
  color: #FFFFFF !important;
  font-family: 'Effra', 'Helvetica Neue', Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* Kill ALL section backgrounds */
.bg-animation, .nasl-bg-purple, .nasl-bg-dark, .nasl-bg-purple-center,
.bg-light, .bg-dark, .bg-white, .container-fluid,
section, article, main > div, main > section,
#solutions, #partners, #news, #contact-us, #faq,
body .nasl-bg-purple, body .nasl-bg-dark, body .bg-animation {
  background-color: #150F22 !important;
  background: #150F22 !important;
  background-image: none !important;
}

.container-fluid { padding-left: 0 !important; padding-right: 0 !important; }


/* ============================================
   TYPOGRAPHY — ALL WHITE
   ============================================ */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  color: #FFFFFF !important;
  font-family: 'Effra', 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 700 !important;
}

p, span, li, td, th, label, .fs-6, .lh-base,
body p, body span, body li, body td {
  font-family: 'Effra', 'Helvetica Neue', Arial, sans-serif !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

a { color: #C67DCE !important; text-decoration: none !important; transition: color 0.3s ease; }
a:hover, a:focus { color: #F690FF !important; text-decoration: none !important; }

.gradient-text {
  background: linear-gradient(135deg, #C67DCE, #F690FF) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}


/* ============================================
   NAVBAR
   ============================================ */
header, nav, .navbar, .site-header, #masthead,
nav.navbar, .navbar-dark, .navbar-expand-lg,
.fixed-top, .sticky-top, header.fixed-top,
body header, body nav.navbar {
  background-color: #150F22 !important;
  border-bottom: 1px solid #332B3B !important;
  backdrop-filter: blur(12px) !important;
}

.navbar .nav-link, .navbar .navbar-nav .nav-link,
.navbar-nav .nav-link, nav .nav-link, nav a, header a,
header .nav-link, .navbar-dark .navbar-nav .nav-link,
.navbar-nav > li > a, .navbar a,
body .navbar .nav-link, body nav a {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  font-family: 'Effra', 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 600 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.navbar .nav-link:hover, .navbar .nav-link:focus,
.navbar .nav-link.active, .navbar-nav .nav-link:hover,
nav a:hover, header a:hover,
body .navbar .nav-link:hover, body nav a:hover {
  color: #C67DCE !important;
  -webkit-text-fill-color: #C67DCE !important;
}

.navbar-toggler { border-color: #332B3B !important; }
.navbar-toggler-icon { filter: brightness(2) !important; }
.navbar-collapse, .navbar-collapse.collapse.show { background-color: #150F22 !important; }
.navbar-brand img { filter: brightness(1.05) !important; }


/* ============================================
   BUTTONS — #5F1CB8 base / #C67DCE hover
   ============================================ */
.btn-primary, .btn-primary:visited, a.btn-primary,
.navbar .btn-primary, header .btn-primary, nav .btn-primary {
  background-color: #5F1CB8 !important;
  border-color: #5F1CB8 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  box-shadow: 0 0 16px rgba(95, 28, 184, 0.25);
  transition: all 0.3s ease;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: #C67DCE !important;
  border-color: #C67DCE !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  box-shadow: 0 0 28px rgba(198, 125, 206, 0.35) !important;
  transform: translateY(-2px);
}

.btn-outline-secondary, .btn-outline-secondary:visited, a.btn-outline-secondary,
.navbar .btn-outline-secondary, header .btn-outline-secondary {
  background-color: transparent !important;
  border-color: #5F1CB8 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  transition: all 0.3s ease;
}
.btn-outline-secondary:hover, .btn-outline-secondary:focus {
  background-color: #5F1CB8 !important;
  border-color: #C67DCE !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.btn { font-family: 'Effra', 'Helvetica Neue', Arial, sans-serif !important; border-radius: 8px !important; }


/* ============================================
   CARDS
   ============================================ */
.card, .nasl-card, body .card, body .nasl-card {
  background-color: #1E162B !important;
  border: 1px solid #332B3B !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
  transition: all 0.3s ease;
  overflow: hidden;
}
.card:hover, .nasl-card:hover {
  border-color: #5F1CB8 !important;
  box-shadow: 0 8px 32px rgba(95, 28, 184, 0.2) !important;
  transform: translateY(-4px);
}
.card p, .nasl-card p, .card .text-muted { color: #FFFFFF !important; }
.solution-item { padding: 20px; }
.solution-item p { color: #FFFFFF !important; }
.shadow-sm { background-color: #1E162B !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important; }


/* ============================================
   CATEGORY ARCHIVE / BLOG
   ============================================ */
.page-header { background-color: #1E162B !important; border: 1px solid #332B3B !important; border-radius: 12px !important; }
.page-header p { color: #FFFFFF !important; }


/* ============================================
   NEWS
   ============================================ */
#news .border-bottom, .border-bottom { border-bottom-color: #332B3B !important; }
.nasl-img { border-radius: 12px !important; }

/* News section text */
.nasl-bg-purple p, .nasl-bg-purple .fs-6,
#news p, #news .fs-6 {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}


/* ============================================
   FAQ — HIDE CTA
   ============================================ */
.nasl-faq-cta { display: none !important; }
.nasl-faq-section, section.nasl-faq-section { background-color: #150F22 !important; background: #150F22 !important; }
.nasl-faq-question h3 { color: #FFFFFF !important; -webkit-text-fill-color: #FFFFFF !important; }
.nasl-faq-answer p { color: #FFFFFF !important; -webkit-text-fill-color: #FFFFFF !important; }
.nasl-faq-item { background: #1E162B !important; border: 1px solid transparent !important; }
.nasl-faq-item:hover { border-color: #332B3B !important; }
.nasl-faq-item.active { border-color: #5F1CB8 !important; }
.nasl-faq-icon { background: #332B3B !important; color: #C67DCE !important; }
.nasl-faq-item.active .nasl-faq-icon { background: #5F1CB8 !important; color: #FFFFFF !important; }


/* ============================================
   CONTACT US
   ============================================ */
#contact-us, .contact-section, body #contact-us,
body [id*="contact"], main > div:last-of-type {
  background-color: #150F22 !important;
  background: #150F22 !important;
}

input[type="text"], input[type="email"], input[type="tel"],
input[type="url"], input[type="number"], textarea, select,
.form-control, .wpcf7 input, .wpcf7 textarea {
  background-color: #1E162B !important;
  border: 1px solid #332B3B !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
}
input:focus, textarea:focus, select:focus, .form-control:focus {
  border-color: #5F1CB8 !important;
  box-shadow: 0 0 0 3px rgba(95, 28, 184, 0.2) !important;
  outline: none !important;
  background-color: #1E162B !important;
}
input::placeholder, textarea::placeholder { color: #6b6374 !important; }


/* ============================================
   FOOTER
   ============================================ */
footer, footer#footer, #footer, .site-footer,
#colophon, body footer, footer.container-fluid,
footer.nasl-bg-dark, .nasl-bg-dark,
footer.container-fluid.nasl-bg-dark {
  background-color: #150F22 !important;
  background: #150F22 !important;
  border-top: 1px solid #332B3B !important;
  color: #FFFFFF !important;
}

footer .row, footer > div, footer div, footer section, footer nav,
#footer .row, #footer div, .nasl-bg-dark div, .nasl-bg-dark .row,
footer .container-fluid {
  background-color: #150F22 !important;
  background: #150F22 !important;
}

.footer-line, footer .footer-line, #footer .footer-line {
  background-color: #332B3B !important;
  height: 1px !important;
  opacity: 1 !important;
}

footer a, footer .nav-link, #footer a, #footer .nav-link,
.nasl-bg-dark a, .nasl-bg-dark .nav-link, body footer a {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
footer a:hover, footer .nav-link:hover,
#footer a:hover, .nasl-bg-dark a:hover, body footer a:hover {
  color: #C67DCE !important;
  -webkit-text-fill-color: #C67DCE !important;
}

footer p, footer span, #footer p, #footer span,
.nasl-bg-dark p, .nasl-bg-dark span, body footer p {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

footer .social-link, footer .social-link i,
footer .fab, footer i.fab, footer i.fa-brands,
#footer .fab, #footer i.fa-brands,
.nasl-bg-dark i, body footer i {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
footer .social-link:hover i, footer i:hover,
#footer i:hover, .nasl-bg-dark i:hover, body footer i:hover {
  color: #C67DCE !important;
  -webkit-text-fill-color: #C67DCE !important;
}

footer img, #footer img { filter: brightness(1.05) !important; }


/* ============================================
   BREADCRUMB
   ============================================ */
.breadcrumb, .breadcrumb-item, nav[aria-label="breadcrumb"] { background-color: #150F22 !important; color: #FFFFFF !important; }
.breadcrumb a { color: #FFFFFF !important; }
.breadcrumb a:hover { color: #C67DCE !important; }


/* ============================================
   BLOG / POSTS
   ============================================ */
article { color: #FFFFFF; }
article p, article li, article span { color: #FFFFFF !important; -webkit-text-fill-color: #FFFFFF !important; }
article a { color: #C67DCE !important; }
article a:hover { color: #F690FF !important; }
.entry-meta, .post-meta, .byline, .posted-on { color: #FFFFFF !important; }

.badge, .tag-link, .cat-link {
  background-color: #1E162B !important;
  color: #C67DCE !important;
  border: 1px solid #332B3B !important;
  border-radius: 6px;
}


/* ============================================
   INNER PAGES
   ============================================ */
.page .content, .page-template-default .content,
.single-solution_page .content, .archive .content,
.category .content, .search .content, .error404 .content {
  background-color: #150F22 !important;
}


/* ============================================
   BOOTSTRAP OVERRIDES
   ============================================ */
.bg-light  { background-color: #150F22 !important; }
.bg-dark   { background-color: #150F22 !important; }
.bg-white  { background-color: #150F22 !important; }
.bg-primary { background-color: #5F1CB8 !important; }
.bg-secondary { background-color: #332B3B !important; }
.text-dark { color: #FFFFFF !important; }
.text-muted { color: #FFFFFF !important; -webkit-text-fill-color: #FFFFFF !important; }
.text-light { color: #FFFFFF !important; }
.border        { border-color: #332B3B !important; }
.border-top    { border-top-color: #332B3B !important; }
.border-bottom { border-bottom-color: #332B3B !important; }
.shadow, .shadow-sm, .shadow-lg { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important; }
.rounded, .rounded-3, .rounded-4 { background-color: #150F22 !important; }


/* ============================================
   SCROLLBAR
   ============================================ */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #150F22; }
::-webkit-scrollbar-thumb { background: #332B3B; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #5F1CB8; }
* { scrollbar-width: thin; scrollbar-color: #332B3B #150F22; }

::selection { background: rgba(95, 28, 184, 0.3); color: #FFFFFF; }

@media (max-width: 768px) {
  h1 { font-size: 1.8rem !important; }
  h2 { font-size: 1.5rem !important; }
  h3 { font-size: 1.2rem !important; }
  .card, .nasl-card { border-radius: 12px !important; }
}

@media print {
  body { background: #fff !important; color: #000 !important; }
  header, footer, canvas { display: none !important; }
}