:root {
  --novax-bg: #04050b;
  --novax-bg-alt: #0a0d18;
  --novax-surface: rgba(12, 15, 28, 0.86);
  --novax-surface-strong: rgba(18, 22, 40, 0.94);
  --novax-border: rgba(126, 82, 255, 0.26);
  --novax-text: #f3f6ff;
  --novax-text-muted: #a6b0d6;
  --novax-purple: #bb32ff;
  --novax-purple-strong: #8d22ff;
  --novax-blue: #27b5ff;
  --novax-blue-strong: #1487ff;
  --novax-silver: #e7ebf8;
  --novax-glow: 0 0 26px rgba(187, 50, 255, 0.3), 0 0 38px rgba(39, 181, 255, 0.18);
  --novax-gradient: linear-gradient(135deg, var(--novax-purple) 0%, #8d39ff 35%, #4b6dff 68%, var(--novax-blue) 100%);
  --novax-panel-gradient: linear-gradient(180deg, rgba(17, 20, 35, 0.95) 0%, rgba(8, 10, 20, 0.98) 100%);
}

html {
  background:
    radial-gradient(circle at 18% 18%, rgba(187, 50, 255, 0.2), transparent 30%),
    radial-gradient(circle at 82% 20%, rgba(39, 181, 255, 0.18), transparent 26%),
    radial-gradient(circle at 50% 100%, rgba(74, 53, 181, 0.12), transparent 32%),
    linear-gradient(180deg, #03040a 0%, #060813 40%, #080b16 100%);
  min-height: 100%;
}

body,
.app-body {
  background:
    radial-gradient(circle at 18% 18%, rgba(187, 50, 255, 0.14), transparent 28%),
    radial-gradient(circle at 82% 20%, rgba(39, 181, 255, 0.14), transparent 24%),
    linear-gradient(180deg, rgba(4, 5, 11, 0.96), rgba(5, 7, 15, 0.98));
  color: var(--novax-text);
}

body::before,
.app-body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.24;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(circle at center, black, transparent 88%);
}

body::after,
.app-body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 24% 55%, rgba(187, 50, 255, 0.1), transparent 18%),
    radial-gradient(circle at 74% 48%, rgba(39, 181, 255, 0.1), transparent 20%);
  filter: blur(24px);
}

#wrapper,
.app-shell,
.custom-footer,
.app-header,
.app-footer {
  position: relative;
  z-index: 1;
}

.NATHeader,
#mobileNav,
#mobileNavMenu,
.app-header {
  background: rgba(8, 10, 20, 0.9) !important;
  border-bottom: 1px solid rgba(110, 118, 255, 0.18) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.36);
  backdrop-filter: blur(16px);
}

.logo-container img,
.logo-link img {
  filter: drop-shadow(0 0 18px rgba(187, 50, 255, 0.26)) drop-shadow(0 0 20px rgba(39, 181, 255, 0.22));
}

#buttons03 .button.n01,
#mobileNavMenu .button.n01,
.app-nav a {
  color: var(--novax-text-muted) !important;
}

#buttons03 .button.n01:hover,
#buttons03 .button.n01.active,
#mobileNavMenu .button.n01:hover,
#mobileNavMenu .button.n01.active,
.app-nav a:hover {
  color: var(--novax-silver) !important;
}

#buttons03 .button.n01::after,
#mobileNavMenu .button.n01::after {
  background: var(--novax-gradient) !important;
  box-shadow: 0 0 16px rgba(39, 181, 255, 0.28);
}

.dropdown-content,
.user-dropdown .dropdown-content {
  background: rgba(8, 11, 22, 0.96) !important;
  border: 1px solid rgba(116, 90, 255, 0.24) !important;
  box-shadow: 0 22px 44px rgba(0, 0, 0, 0.42);
  backdrop-filter: blur(18px);
}

.dropdown-content a {
  color: var(--novax-text-muted) !important;
}

.dropdown-content a:hover {
  color: var(--novax-text) !important;
  background: rgba(88, 62, 214, 0.12) !important;
}

.hero-button.primary,
.fivem-btn-cart,
.button.primary,
button[type="submit"],
.install-card button,
.panel .button-primary {
  background: var(--novax-gradient) !important;
  color: #fff !important;
  border: 1px solid rgba(151, 93, 255, 0.44) !important;
  box-shadow: var(--novax-glow);
}

.hero-button.primary:hover,
.fivem-btn-cart:hover,
.button.primary:hover,
button[type="submit"]:hover,
.install-card button:hover,
.panel .button-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 28px rgba(187, 50, 255, 0.34), 0 0 44px rgba(39, 181, 255, 0.24);
}

.hero-button.secondary,
.fivem-btn-view,
.fivem-btn-special,
.button.secondary {
  background: rgba(13, 18, 34, 0.88) !important;
  color: var(--novax-text) !important;
  border: 1px solid rgba(77, 143, 255, 0.3) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

.hero-button.secondary:hover,
.fivem-btn-view:hover,
.fivem-btn-special:hover,
.button.secondary:hover {
  border-color: rgba(187, 50, 255, 0.4) !important;
  box-shadow: 0 0 22px rgba(39, 181, 255, 0.18);
}

.feature-card,
.category-card,
.review-card,
.fivem-resource-card,
.panel,
.install-card,
.account-card,
.summary-card,
.user-order-card {
  background: var(--novax-panel-gradient) !important;
  border: 1px solid rgba(114, 84, 255, 0.22) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(14px);
}

.feature-card:hover,
.category-card:hover,
.review-card:hover,
.fivem-resource-card:hover,
.panel:hover,
.user-order-card:hover {
  border-color: rgba(146, 94, 255, 0.4) !important;
  box-shadow: 0 26px 52px rgba(0, 0, 0, 0.38), 0 0 26px rgba(39, 181, 255, 0.08);
}

.feature-card::before,
.category-card::before,
.review-card::before,
.fivem-resource-card::before {
  background: linear-gradient(90deg, rgba(187, 50, 255, 0.7), rgba(39, 181, 255, 0.7)) !important;
}

.feature-card h3,
.category-card h3,
.review-card h4,
.review-card h3,
.fivem-store-heading,
.panel h1,
.panel h2,
.panel h3,
.hero-content h1,
.section-title,
.footer-brand h2,
.logo-link span {
  color: var(--novax-silver) !important;
}

.feature-card p,
.category-card p,
.review-card p,
.review-role,
.review-text,
.hero-description,
.panel p,
.panel label,
.panel li,
.app-nav a,
.footer-links a,
.footer-brand p,
.fivem-resource-card p,
.fivem-empty-state p {
  color: var(--novax-text-muted) !important;
}

.fivem-category-btn,
.tag,
.badge,
.cart-badge {
  background: rgba(13, 18, 34, 0.92) !important;
  color: var(--novax-text) !important;
  border: 1px solid rgba(89, 138, 255, 0.26) !important;
}

.fivem-category-btn.active,
.fivem-category-btn:hover {
  background: rgba(27, 31, 56, 0.96) !important;
  border-color: rgba(187, 50, 255, 0.45) !important;
  box-shadow: 0 0 18px rgba(187, 50, 255, 0.2);
}

.fivem-category-nav,
.fivem-store-categories,
.fivem-store-tags,
.fivem-store-search,
.fivem-empty-state,
.user-profile-card,
.user-topbar,
.user-orders-panel {
  background: rgba(10, 13, 24, 0.72) !important;
  border: 1px solid rgba(114, 84, 255, 0.18) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(14px);
}

.fivem-store-heading,
.fivem-resource-card h3,
.fivem-resource-card h4,
.user-profile-card h1,
.user-topbar h2,
.user-orders-panel h3,
.user-order-copy h4 {
  color: var(--novax-silver) !important;
}

.fivem-resource-card *,
.user-profile-card *,
.user-topbar *,
.user-orders-panel * {
  border-color: rgba(114, 84, 255, 0.18);
}

.price,
.product-price,
.fivem-resource-card .resource-price,
.fivem-resource-card [class*="price"] {
  color: #6ed8ff !important;
  text-shadow: 0 0 12px rgba(39, 181, 255, 0.25);
}

input,
select,
textarea {
  background: rgba(9, 11, 21, 0.92) !important;
  color: var(--novax-text) !important;
  border: 1px solid rgba(85, 100, 180, 0.36) !important;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: rgba(187, 50, 255, 0.5) !important;
  box-shadow: 0 0 0 4px rgba(81, 123, 255, 0.14);
}

.custom-footer,
.app-footer {
  background: rgba(6, 8, 16, 0.94) !important;
  border-top: 1px solid rgba(96, 104, 212, 0.2) !important;
}

.custom-footer::before,
.app-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(187, 50, 255, 0.7), rgba(39, 181, 255, 0.7), transparent);
}

.custom-footer a,
.app-footer a {
  color: var(--novax-text-muted) !important;
}

.custom-footer a:hover,
.app-footer a:hover {
  color: var(--novax-text) !important;
}

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #080a14;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(187, 50, 255, 0.6), rgba(39, 181, 255, 0.6));
  border-radius: 999px;
}
