/*
 * Nerovisum Elevate 2.2 — Royal Blue presentation layer.
 * Class names such as .btn-gold are intentionally retained for backward compatibility.
 */
:root {
  --nv-royal: #4169e1;
  --nv-royal-light: #6f8fff;
  --nv-royal-dark: #274bb3;
  --nv-navy-950: #07111f;
  --nv-navy-900: #0b1730;
  --nv-navy-800: #102347;
  --nv-navy-700: #15305f;
  --nv-sky: var(--accent-secondary, #38bdf8);
  --nv-warm: var(--accent-warm, #ffb703);
  --nv-glow: 0 18px 60px rgba(65,105,225,.24);
}

html { color-scheme: dark; }
body {
  background:
    radial-gradient(circle at 12% -8%, rgba(65,105,225,.14), transparent 31rem),
    radial-gradient(circle at 96% 10%, rgba(56,189,248,.08), transparent 28rem),
    var(--ink);
}

::selection { background: rgba(65,105,225,.75); color: #fff; }

/* Keep old semantic class names while presenting the new brand. */
.gold,
.lbl,
.nav-brand-text span,
.footer-brand span,
.modal-title span { color: var(--gold); }

.btn-gold,
#announce,
.nv-flash-cta,
.nv-flash-badge,
.edd-submit.button,
.edd-submit.button.blue,
.edd-submit.button.gray,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
button.checkout-button,
a.checkout-button {
  color: #fff !important;
}

.btn-gold {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-d) 100%);
  box-shadow: 0 10px 34px rgba(65,105,225,.22);
}
.btn-gold:hover {
  background: linear-gradient(135deg, var(--gold-l) 0%, var(--gold) 100%);
  box-shadow: 0 14px 40px rgba(65,105,225,.32);
}
.btn-outline { border-color: var(--gold); color: #a9c1ff; }
.btn-outline:hover { background: var(--gold); color: #fff; }
.btn-ghost:hover { border-color: var(--cyan); color: var(--cyan); }

#announce {
  background: linear-gradient(90deg, #274bb3 0%, #4169e1 48%, #315d97 100%);
  box-shadow: 0 8px 28px rgba(10,30,66,.22);
}
#announce .ann-text,
#announce .ann-code,
#announce .ann-close { color: #fff; }
#announce .ann-code { background: rgba(255,255,255,.14); }

nav {
  background: rgba(7,17,31,.94);
  border-bottom-color: rgba(111,143,255,.20);
  box-shadow: 0 8px 30px rgba(0,0,0,.18);
}
.nav-links a:hover,
.nav-links .active,
.nav-links .nv-active > a { color: #8fb0ff; }
.nav-login:hover,
.nav-cart-btn:hover { border-color: var(--gold); color: #a9c1ff; }

/* Premium blue cards without changing layout or click targets. */
.svc-card,
.price-card,
.portfolio-card,
.event-card,
.testi-card,
.faq-item,
.modal-box,
.bot-panel,
.nav-account-dropdown {
  box-shadow: inset 0 1px rgba(255,255,255,.02);
}
.svc-card:hover,
.portfolio-card:hover,
.price-card:hover {
  box-shadow: 0 16px 45px rgba(6,18,42,.38), 0 0 0 1px rgba(65,105,225,.14);
}

.divider,
.svc-card::after { background: linear-gradient(180deg, var(--cyan), var(--gold)); }

/* Warm complement is reserved for attention signals, not primary actions. */
.badge,
.nv-price-badge,
.nv-flash-badge,
[class*="popular"],
[class*="best-value"] { --nv-badge-accent: var(--warm); }

/* Inputs: blue focus treatment, no structural changes. */
input:focus,
textarea:focus,
select:focus,
button:focus-visible,
a:focus-visible {
  outline-color: var(--cyan);
}
input:focus,
textarea:focus,
select:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(65,105,225,.13) !important;
}

/* Footer and deep surfaces shift from black/charcoal to navy. */
footer { background: linear-gradient(180deg, #081426 0%, #050d19 100%); }
.social-btn:hover { border-color: var(--cyan); color: var(--cyan); }

/* Responsive Menu plugin compatibility — wins after plugin styles. */
#responsive-menu-container,
#responsive-menu-container .responsive-menu-inner {
  background-color: #0b1730 !important;
  border-color: #24446f !important;
}
#responsive-menu-container li a,
#responsive-menu-container .responsive-menu-item a {
  color: #a9b8d0 !important;
  border-bottom-color: #24446f !important;
}
#responsive-menu-container li a:hover,
#responsive-menu-container .responsive-menu-item a:hover,
#responsive-menu-container .current-menu-item > a {
  color: #a9c1ff !important;
  background: rgba(65,105,225,.12) !important;
}
#responsive-menu-container .responsive-menu-submenu { background: #102347 !important; }
#responsive-menu-button:hover,
.responsive-menu-open-btn:hover { border-color: #4169e1 !important; }

/* EDD / checkout visuals only; functional EDD CSS remains loaded. */
.edd-submit,
.edd-submit.button,
.nv-edd-buy-btn,
.nv-sort-cart-btn,
.nv-cart-checkout-btn {
  border-color: rgba(111,143,255,.34) !important;
}
.edd-submit:not(.button-secondary),
.nv-cart-checkout-btn,
.nv-sort-cart-btn.has-items {
  background-color: var(--gold) !important;
}

/* Scrollbar supports brand without changing dimensions/layout. */
* { scrollbar-color: #315d97 #07111f; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}

/* Contrast corrections for components that previously assumed a gold/yellow fill. */
.p-badge,
.hiw-step:hover .hiw-num,
.faq-item.open .faq-icon,
.ba-handle-btn,
.thoth-send,
.nv-edd-new-badge,
.nv-edd-buy-btn,
.nv-edd-discount-btn,
#edd_checkout_form_wrap #edd-purchase-button,
.nv-course-btn,
.nv-audit-submit,
.nvcp-tab.active,
.nvcp-msg--client .nvcp-msg-bubble,
.nv-ic-popular-badge,
.nvbun-featured-badge,
.nvbun-card-badge,
.nvbun-card-btn,
.nvco-lt-pop,
.nvrc-lic-badge,
.nvrc-btn-primary,
.nvrc-upsell-badge,
.nvpf-case-badge,
.nv-sd-buy-btn,
.nvwd-tier-popular,
.nvwd-tier-btn--gold,
.nv-trimag-search-btn,
.nv-trimag-cat:hover,
.nv-trimag-cat--active,
.nv-trimag-cat-badge,
.botw-badge,
.nvbn-btn-yes,
.nvaff-copy-btn,
.nvbook-submit-btn {
  color: #fff !important;
}

#counters {
  background: linear-gradient(110deg, #274bb3 0%, #4169e1 50%, #315d97 100%);
}
#counters .counter-num,
#counters .counter-plus,
#counters .counter-lbl { color: #fff; }
#counters .counter-plus,
#counters .counter-lbl { opacity: .78; }
#counters .counter-cell { border-right-color: rgba(255,255,255,.16); }

#newsletter {
  background:
    radial-gradient(circle at 10% 0%, rgba(56,189,248,.22), transparent 24rem),
    linear-gradient(115deg, #274bb3 0%, #4169e1 58%, #315d97 100%);
}
#newsletter .nl-copy .nl-ttl,
#newsletter .nl-copy p { color: #fff; }
#newsletter .nl-copy p { opacity: .82; }
#newsletter .nl-input {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
}
#newsletter .nl-input::placeholder { color: rgba(255,255,255,.62); }
#newsletter .nl-btn { background: #07111f; color: #fff; }
#newsletter .nl-btn:hover { background: #102347; }
