/*
Theme Name:   Nova Signal AI
Theme URI:    https://novasignal-ai.online
Description:  FINAL standalone theme for novasignal-ai.online — the former "new-theme" parent and the Nova Signal child theme (v1.7.0) merged into ONE theme: no parent required. Ships the site chrome (header, nav, footer), all page templates (Home, About, Services, Industries, Pricing, Case Studies, Contact, Privacy, Terms, CRM Dashboard), the heading-visibility fix, the portfolio assets, and the self-healing Contact page. v1.1.0: theme-native Nova Sales Agent live demo on the homepage (replaces the old chatbot shortcode), CRM Integration and Customer Forecasting AI services + pricing, and a dedicated Services page template. Pairs with the Nova Signal Suite plugin (CRM, contact form) and the Nova Sales Agent chatbot.
Author:       Nova Signal AI
Author URI:   https://novasignal-ai.online
Version:      1.1.0
Requires at least: 5.8
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  nova-signal-ai
*/

/* --------------------------------------------------------------
   SITE CHROME (from the former "new-theme" parent)
   Sticky navy header, logo, primary menu, Get Started CTA.
   -------------------------------------------------------------- */
body{margin:0;font-family:'Inter',system-ui,-apple-system,sans-serif;background:#f6f8fc;color:#0f172a;line-height:1.6}
img{max-width:100%;height:auto}
a{color:#3f7fd9}
.site-header{background:linear-gradient(90deg,#376490 0%,#2c5176 100%);box-shadow:0 2px 14px rgba(0,0,0,.25);position:sticky;top:0;z-index:100}
.site-nav{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 40px;gap:20px}
.site-logo{display:flex;align-items:center;text-decoration:none}
.site-logo img{height:52px;width:auto;display:block;border-radius:8px}
.site-menu{display:flex;gap:42px;align-items:center;list-style:none;margin:0;padding:0}
.site-menu a{color:#fff;font-weight:600;font-size:16.5px;text-decoration:none;position:relative;padding:6px 2px}
.site-menu a:hover{color:#22d3ee}
.site-menu a.active,.site-menu .current-menu-item>a,.site-menu .current_page_item>a{color:#22d3ee}
.site-menu a.active::after,.site-menu .current-menu-item>a::after,.site-menu .current_page_item>a::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:3px;background:#22d3ee;border-radius:2px}
.site-cta{background:linear-gradient(135deg,#4a9bf5,#9a6be8);color:#fff;font-weight:700;font-size:16px;padding:12px 32px;border-radius:14px;text-decoration:none;box-shadow:0 6px 18px rgba(96,120,235,.45);transition:.25s;white-space:nowrap}
.site-cta:hover{transform:translateY(-2px);color:#fff}
.site-burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.site-burger span{display:block;width:26px;height:3px;background:#fff;border-radius:2px;margin:5px 0;transition:.25s}
@media(max-width:1000px){
  .site-burger{display:block}
  .site-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#2c5176;flex-direction:column;gap:0;padding:10px 0;box-shadow:0 14px 28px rgba(0,0,0,.3)}
  .site-menu.open{display:flex}
  .site-menu a{display:block;padding:13px 32px;font-size:16px}
  .site-menu a.active::after,.site-menu .current-menu-item>a::after,.site-menu .current_page_item>a::after{display:none}
  .site-cta{padding:10px 22px;font-size:15px}
}
@media(max-width:560px){.site-nav{padding:12px 18px}.site-logo img{height:42px}}

/* --------------------------------------------------------------
   GENERIC CONTENT (base templates: page, post, search, 404)
   Used by every page that has no dedicated template (e.g. Services).
   -------------------------------------------------------------- */
.nsp{max-width:880px;margin:0 auto;padding:72px 24px 84px;min-height:50vh}
.nsp h1,.nsp h2,.nsp h3,.nsp h4{color:#0b1a2e;line-height:1.2;letter-spacing:-.02em}
.nsp h1{font-size:clamp(30px,4.4vw,44px);font-weight:800;margin:0 0 22px}
.nsp h2{font-size:26px;margin:38px 0 12px}
.nsp h3{font-size:21px;margin:30px 0 10px}
.nsp p{margin:0 0 16px}
.nsp ul,.nsp ol{margin:0 0 16px 22px}
.nsp a{color:#3f7fd9}
.nsp .nsp-meta{color:#64748b;font-size:14px;margin:-10px 0 26px}
.nsp .nsp-thumb{border-radius:14px;margin:0 0 26px;box-shadow:0 10px 30px rgba(11,26,46,.12)}
.nsp-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:22px 24px;margin:0 0 18px;box-shadow:0 4px 14px rgba(11,26,46,.05)}
.nsp-card h2{margin:0 0 8px;font-size:20px}
.nsp-card a{text-decoration:none}
.nsp-nav{display:flex;justify-content:space-between;gap:14px;margin-top:34px;font-weight:600}
.nsp-search{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;display:flex;gap:10px;margin:26px 0}
.nsp-search input[type=search]{flex:1;border:0;outline:0;font-size:16px;background:transparent}
.nsp-search button{border:0;border-radius:9px;padding:10px 18px;background:linear-gradient(135deg,#4a9bf5,#9a6be8);color:#fff;font-weight:700;cursor:pointer}
.nsp-404{text-align:center;padding:110px 24px}
.nsp-404 h1{font-size:clamp(40px,7vw,72px);margin-bottom:8px}
.nsp .wp-block-button__click,.nsp .wp-block-button a{background:linear-gradient(135deg,#4a9bf5,#9a6be8);border-radius:12px;color:#fff}

/* --------------------------------------------------------------
   ACCESSIBILITY / WORDPRESS CORE
   -------------------------------------------------------------- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.alignleft{float:left;margin:0 20px 16px 0}
.alignright{float:right;margin:0 0 16px 20px}
.aligncenter{display:block;margin:0 auto 16px}
.wp-caption{max-width:100%}
.sticky,.bypostauthor{outline:none}

/* ---------------------------------------------------------------
   HEADING VISIBILITY FIX (v1.5)
   The parent theme forces h1–h6 to white globally, which makes
   titles invisible on the light Nova Signal pages. These scoped
   rules restore dark headings on light sections and keep white
   headings on dark sections. (The Nova Signal Suite plugin prints
   the same fix site-wide, so you are covered even before this
   child theme is activated.)
   --------------------------------------------------------------- */

/* Home */
.nsh h1,.nsh h2,.nsh h3,.nsh h4{color:#0b1a2e!important}
.nsh-hero h1,.nsh-cta h2,.nsh-why .nsh-title{color:#fff!important}
.nsh-hero-panel h3{color:#67e8f9!important}
.nsh-hero h1 .grad{background:linear-gradient(90deg,#22d3ee,#a8c4fb);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.nsh-cta h2 span{color:#22d3ee!important}
#nsh-audit h2,#nsh-audit .nsh-title{color:#fff!important}

/* Pricing */
.ns-pricing h1,.ns-pricing h2,.ns-pricing h3,.ns-pricing h4{color:#0b1a2e!important}
.ns-hero h1,.ns-cta h2,.ns-included h2{color:#fff!important}
.ns-hero-card h3{color:#67e8f9!important}
.ns-mini h4{color:#3f7fd9!important}
.ns-plan.elite h3{color:#fff!important}
.ns-plan.elite .ns-mini h4{color:#67e8f9!important}
.ns-hero h1 .grad{background:linear-gradient(90deg,#22d3ee,#a8c4fb);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.ns-cta h2 span,.ns-included h2 span{color:#22d3ee!important}

/* Industries */
.nsi h1,.nsi h2,.nsi h3,.nsi h4{color:#0b1a2e!important}
.nsi-hero h1,.nsi-cta h2{color:#fff!important}
.nsi-hero h1 span{background:linear-gradient(90deg,#22d3ee,#a8c4fb);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.nsi-cta h2 span{color:#22d3ee!important}

/* About */
.nsa h1,.nsa h2,.nsa h3,.nsa h4{color:#0b1a2e!important}
.nsa-hero h1,.nsa-cta h2,.nsa-dark .nsa-title{color:#fff!important}
.nsa-hero h1 span{background:linear-gradient(90deg,#22d3ee,#a8c4fb);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.nsa-cta h2 span{color:#22d3ee!important}

/* Case Studies */
.nsc h1,.nsc h2,.nsc h3,.nsc h4{color:#0b1a2e!important}
.nsc-hero h1,.nsc-cta h2,.nsc-case-head h2{color:#fff!important}
.nsc-hero h1 span{background:linear-gradient(90deg,#22d3ee,#a8c4fb);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.nsc-cta h2 span,.nsc-found h2 span{color:#22d3ee!important}
.nsc-flag-head h2,.nsc-found h2{color:#fff!important}
.nsc-block h4{color:#3f7fd9!important}
.nsc-results h4{color:#16a34a!important}

/* Privacy / Terms */
.nsl h1,.nsl h2,.nsl h3{color:#0f2440!important}
.nsl-hero h1{color:#fff!important}

/* Contact page + shortcode form */
.nsct-wrap h1,.nsct-wrap h2,.nsct-wrap h3{color:#0b1a2e!important}
.nsct-hero h1{color:#fff!important}
.nsct-hero h1 span{color:#22d3ee!important}
.nssf-wrap h1,.nssf-wrap h2,.nssf-wrap h3{color:#0b1a2e!important}

/* CRM Dashboard */
.nscrm h1,.nscrm h2,.nscrm h3,.nscrm-login h1{color:#0b1a2e!important}

/* v1.7.0 — audit-2026-2 mobile header fix: stop the header CTA crowding the bar */
@media(max-width:768px){.site-nav{padding:12px 18px !important}.site-logo img{height:42px !important}.site-cta{font-size:13.5px !important;padding:9px 18px !important;border-radius:11px !important;white-space:nowrap}}
@media(max-width:400px){.site-cta{font-size:12.5px !important;padding:8px 13px !important}}
/* v1.7.0 — FAQ + new homepage blocks: keep headings visible (theme forces white) */
.nsh-faq summary{color:#0b1a2e !important}
