/* ============================================
   Vision4Reality - Neural AI WHMCS Theme
   FINAL VERSION 5.0 - FIX FOR MARKETCONNECT
   ============================================ */

:root {
  /* Core Variables */
  --color-bg-primary: #07070d;
  --color-bg-secondary: #0e0e18;
  --color-bg-surface: #141422;
  --color-bg-surface-hover: #1c1c30;
  --color-text-primary: #f0f0f5;
  --color-text-secondary: #9595b0;
  --color-accent-blue: #00d4ff;
  --color-accent-purple: #7c3aed;
  --color-accent-amber: #f59e0b;
  --color-border-default: rgba(255, 255, 255, 0.1);
  --glass-bg: rgba(14, 14, 24, 0.6);
  --glass-blur: 20px;
}

/* Global Reset for Dark Mode */
body, .primary-bg-color {
    background-color: var(--color-bg-primary) !important;
    color: var(--color-text-primary) !important;
    font-family: 'Inter', sans-serif;
}

/* Headers & Typography */
h1, h2, h3, h4, h5, h6 {
    color: var(--color-text-primary) !important;
}

p, span, div, td, th, li {
    color: var(--color-text-secondary);
}

/* Topbar & Navbar overrides */
.topbar, .navbar, .header {
    background-color: var(--color-bg-secondary) !important;
    border-bottom: 1px solid var(--color-border-default);
}

.topbar .btn {
    color: var(--color-text-primary);
}

.navbar-brand, .navbar-light .navbar-nav .nav-link {
    color: var(--color-text-primary) !important;
}

/* Cards & Panels (Glassmorphism) */
.card, .panel, .well, .modal-content {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    border: 1px solid var(--color-border-default) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.card-header, .panel-heading, .modal-header {
    background-color: transparent !important;
    border-bottom: 1px solid var(--color-border-default) !important;
    color: var(--color-text-primary) !important;
}

.card-footer, .panel-footer, .modal-footer {
    background-color: transparent !important;
    border-top: 1px solid var(--color-border-default) !important;
}

/* Buttons */
.btn-primary {
    background: linear-gradient(135deg, #00d4ff 0%, #7c3aed 100%) !important;
    border: none !important;
    color: #fff !important;
    box-shadow: 0 0 15px rgba(0, 212, 255, 0.3) !important;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 25px rgba(0, 212, 255, 0.5) !important;
}

.btn-default, .btn-secondary, .btn-outline-primary {
    background: transparent !important;
    border: 1px solid var(--color-border-default) !important;
    color: var(--color-text-primary) !important;
}

.btn-default:hover, .btn-secondary:hover {
    border-color: var(--color-accent-blue) !important;
    color: var(--color-accent-blue) !important;
}

/* Inputs & Forms */
.form-control, .input-group-text {
    background-color: var(--color-bg-surface) !important;
    border: 1px solid var(--color-border-default) !important;
    color: var(--color-text-primary) !important;
}

.form-control:focus {
    border-color: var(--color-accent-blue) !important;
    box-shadow: 0 0 10px rgba(0, 212, 255, 0.2) !important;
    background-color: var(--color-bg-surface-hover) !important;
}

/* Tables */
table, .table {
    color: var(--color-text-secondary) !important;
}
.table th {
    border-bottom: 2px solid var(--color-border-default) !important;
    color: var(--color-text-primary) !important;
}
.table td {
    border-top: 1px solid var(--color-border-default) !important;
}
.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255,255,255,0.02) !important;
}

/* Sidebars */
.sidebar {
    background: transparent;
}

.sidebar-header {
    color: var(--color-text-primary);
}

.list-group-item {
    background-color: transparent !important;
    border: 1px solid var(--color-border-default) !important;
    color: var(--color-text-secondary);
}

.list-group-item:hover, .list-group-item.active {
    background-color: var(--color-bg-surface-hover) !important;
    color: var(--color-accent-blue) !important;
    border-color: var(--color-accent-blue) !important;
}

/* Custom Links */
a {
    color: var(--color-accent-blue);
}
a:hover {
    color: var(--color-accent-purple);
    text-decoration: none;
}

/* Fix White Action Icons on Homepage */
.action-icon-btns a {
    background-color: var(--glass-bg) !important;
    border: 1px solid var(--color-border-default) !important;
    color: var(--color-text-primary) !important;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(var(--glass-blur));
    transition: all 0.3s ease;
}

.action-icon-btns a:hover {
    background-color: var(--color-bg-surface-hover) !important;
    border-color: var(--color-accent-blue) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 212, 255, 0.2);
}

.action-icon-btns a i {
    color: var(--color-accent-blue) !important;
}

/* Breadcrumb & Header-Lined Fixes */
.master-breadcrumb, .breadcrumb {
    background-color: transparent !important;
    border: none !important;
}

.breadcrumb-item.active {
    color: var(--color-accent-blue) !important;
}

.header-lined {
    background-color: transparent !important;
    border-bottom: 1px solid var(--color-border-default) !important;
}

.header-lined h1 {
    color: var(--color-text-primary) !important;
}

/* Fix outline buttons border width and hover state */
.btn-outline-primary {
    border: 1px solid rgba(0, 212, 255, 0.4) !important;
    color: var(--color-text-primary) !important;
    background: rgba(0, 212, 255, 0.05) !important;
}

.btn-outline-primary:hover {
    border-color: var(--color-accent-blue) !important;
    box-shadow: 0 0 15px rgba(0, 212, 255, 0.3) !important;
    color: var(--color-accent-blue) !important;
    background: rgba(0, 212, 255, 0.1) !important;
}

/* Fix text contrast in Hero/Callout areas */
.domain-checker-bg, .callout-bg {
    background-color: var(--color-bg-surface) !important;
    border-bottom: 1px solid var(--color-border-default);
}

.domain-checker-bg h2, .domain-checker-bg p {
    color: var(--color-text-primary) !important;
}

/* Fix other primary/success buttons to match gradient */
.btn-success, .btn-info {
    background: linear-gradient(135deg, #00d4ff 0%, #7c3aed 100%) !important;
    border: none !important;
    color: #fff !important;
    box-shadow: 0 0 15px rgba(0, 212, 255, 0.3) !important;
}

.btn-success:hover, .btn-info:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 25px rgba(0, 212, 255, 0.5) !important;
}

/* WHMCS Standard Cart Orderform Overrides */
#order-standard_cart .product {
    background-color: var(--glass-bg) !important;
    border: 1px solid var(--color-border-default) !important;
    backdrop-filter: blur(var(--glass-blur));
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
    transition: all 0.3s ease;
}

#order-standard_cart .product:hover {
    background-color: var(--color-bg-surface-hover) !important;
    border-color: var(--color-accent-blue) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 212, 255, 0.2);
}

#order-standard_cart .product header {
    background-color: transparent !important;
    border-bottom: 1px solid var(--color-border-default);
    color: var(--color-text-primary) !important;
}

#order-standard_cart .product header span {
    color: var(--color-text-primary) !important;
}

#order-standard_cart .product .product-desc,
#order-standard_cart .product .product-desc p,
#order-standard_cart .product .product-desc ul li {
    color: var(--color-text-secondary) !important;
    background: transparent !important;
}

#order-standard_cart .product .product-pricing {
    color: var(--color-text-primary) !important;
}

#order-standard_cart .cart-sidebar .panel {
    background: transparent !important;
}

#order-standard_cart .cart-sidebar .panel-heading {
    background: var(--color-bg-surface) !important;
    color: var(--color-text-primary) !important;
}

#order-standard_cart .list-group-item {
    background: var(--color-bg-primary) !important;
    color: var(--color-text-secondary) !important;
    border-color: var(--color-border-default) !important;
}

#order-standard_cart .list-group-item:hover,
#order-standard_cart .list-group-item.active {
    background: var(--color-bg-surface-hover) !important;
    color: var(--color-accent-blue) !important;
    border-color: var(--color-accent-blue) !important;
}

/* WHMCS Configure Product & Domain Selection Overrides */
#order-standard_cart .product-info,
#order-standard_cart .addon-products,
#order-standard_cart .order-summary,
#order-standard_cart .domain-selection-options .option,
#order-standard_cart .domain-step-options,
#order-standard_cart .summary-container,
#order-standard_cart .checkout-card {
    background-color: var(--glass-bg) !important;
    border: 1px solid var(--color-border-default) !important;
    backdrop-filter: blur(var(--glass-blur));
    color: var(--color-text-primary) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
    border-radius: 12px;
}

#order-standard_cart .domain-selection-options .option:hover,
#order-standard_cart .domain-selection-options .option.option-selected {
    background-color: var(--color-bg-surface-hover) !important;
    border-color: var(--color-accent-blue) !important;
    transform: translateY(-2px);
    transition: all 0.3s ease;
}

#order-standard_cart .order-summary .summary-container {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

#order-standard_cart .product-info p,
#order-standard_cart .product-info ul li,
#order-standard_cart .addon-products label,
#order-standard_cart .addon-products p,
#order-standard_cart .order-summary .title,
#order-standard_cart .order-summary .summary-container,
#order-standard_cart .panel-body p,
#order-standard_cart .domain-selection-options .option .title {
    color: var(--color-text-primary) !important;
}

#order-standard_cart .order-summary .subtotal,
#order-standard_cart .order-summary .total-due-today {
    color: var(--color-text-primary) !important;
    border-color: var(--color-border-default) !important;
}

#order-standard_cart .field-container {
    background-color: transparent !important;
}

#order-standard_cart label.radio-inline,
#order-standard_cart label.checkbox-inline,
#order-standard_cart .text-muted,
#order-standard_cart p.text-muted {
    color: var(--color-text-secondary) !important;
}

/* iCheck / Radio buttons tweaks */
.icheckbox_square-blue, .iradio_square-blue {
    background-color: var(--color-bg-surface) !important;
    border: 1px solid var(--color-border-default) !important;
    border-radius: 4px;
}

/* =========================================================================
   DEEP SCAN FIXES FOR REMAINING WHITE BACKGROUNDS & UI ELEMENTS
   ========================================================================= */

/* 1. Global UI & Containers (Panels, Cards, Modals) */
.panel, .card, .panel-default, .modal-content, .view-cart-items .item {
    background-color: var(--glass-bg) !important;
    border: 1px solid var(--color-border-default) !important;
    backdrop-filter: blur(10px);
    color: #e0e0e0 !important;
}
.panel-heading, .card-header, .panel-footer, .card-footer {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
    border-color: var(--color-border-default) !important;
}

/* 2. Order Forms & Tables */
.addon-products .panel, .recommendation-item, .promo-banner, .domain-lookup-result-table, .cart-body .products .product, .secondary-cart-body {
    background: var(--glass-bg) !important;
    color: #ffffff !important;
    border: 1px solid var(--color-border-default) !important;
}
.domain-lookup-result-table thead th, .table thead th {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}
.table td, .table th, .table-striped tbody tr:nth-of-type(odd) td {
    border-color: var(--color-border-default) !important;
    background-color: transparent !important;
}

/* 3. Sidebars & Menu Navigation (Active States) */
.list-group-item.active,
#order-standard_cart .list-group-item.active {
    background: linear-gradient(135deg, #00d4ff 0%, #7c3aed 100%) !important;
    border-color: transparent !important;
    color: #ffffff !important;
}

/* 4. Form Elements & Inputs */
.form-control, .custom-select, select.form-control {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid var(--color-border-default) !important;
    color: #ffffff !important;
}
.form-control:focus {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: #00d4ff !important;
    box-shadow: 0 0 8px rgba(0, 212, 255, 0.3) !important;
}

/* 5. Alerts & Notifications */
.alert, .alert-info, .alert-danger, .alert-success, .alert-warning {
    background-color: rgba(0, 0, 0, 0.4) !important;
    border: 1px solid var(--color-border-default) !important;
    color: #ffffff !important;
    text-shadow: none !important;
}

/* Fix specific order summary styling */
#order-standard_cart .order-summary {
    background-color: rgba(14, 14, 24, 0.8) !important;
    border: 1px solid var(--color-accent-blue) !important;
}

/* Tabs */
.nav-tabs .nav-link {
    color: var(--color-text-secondary) !important;
}
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
    color: var(--color-accent-blue) !important;
    background-color: var(--color-bg-surface) !important;
    border-color: var(--color-border-default) var(--color-border-default) var(--color-bg-surface) !important;
}

.tab-content, #order-standard_cart .view-cart-tabs .tab-content {
    background-color: var(--color-bg-surface) !important;
    border: 1px solid var(--color-border-default) !important;
    border-top: none !important;
    color: var(--color-text-primary) !important;
}

#order-standard_cart .view-cart-promotion-code {
    background-color: var(--color-bg-primary) !important;
    color: var(--color-text-primary) !important;
}

/* Navbar Link Contrast & Select Options */
.navbar-nav .nav-link, .topbar .btn {
    color: var(--color-text-primary) !important;
    font-weight: 500;
}
.navbar-nav .nav-link:hover, .topbar .btn:hover {
    color: var(--color-accent-blue) !important;
}
select.form-control option {
    background-color: var(--color-bg-surface) !important;
    color: var(--color-text-primary) !important;
}
.home-domain-search, .home-domain-search.bg-white {
    background-color: var(--color-bg-primary) !important;
}

/* =========================================================================
   ULTRA-AGGRESSIVE DARK MODE CATCH-ALL (Store Pages, Forms, Menus, Nav)
   ========================================================================= */

/* Navbar, Dropdowns & Menus */
.navbar-nav .nav-link, 
.navbar-nav .dropdown-toggle, 
.topbar .btn, 
.navbar-light .navbar-nav .nav-link {
    color: #ffffff !important;
    font-weight: 500 !important;
}
.navbar-nav .nav-link:hover, 
.navbar-light .navbar-nav .nav-link:hover, 
.navbar-nav .nav-item.show .nav-link {
    color: var(--color-accent-blue) !important;
}
.dropdown-menu {
    background-color: var(--color-bg-surface) !important;
    border: 1px solid var(--color-border-default) !important;
    backdrop-filter: blur(var(--glass-blur)) !important;
}
.dropdown-item {
    color: #e0e0e0 !important;
}
.dropdown-item:hover, .dropdown-item:focus {
    background-color: var(--color-bg-surface-hover) !important;
    color: var(--color-accent-blue) !important;
}

/* MarketConnect / Store Pages Universal Overrides */
.landing-page section, 
section.section-white, 
section.section-grey,
section.section-light,
.landing-page .section,
.weebly-home, .ssl-home, .codeguard-home, .sitebuilder-home, .marketgoo-home,
.sitelock-home, .xovinow-home, .monitoring-home, .spamexperts-home, .nordvpn-home,
.weebly-content, .ssl-content, .codeguard-content, .sitebuilder-content,
[class*="-container"] section {
    background-color: var(--color-bg-primary) !important;
    background-image: none !important;
    color: var(--color-text-primary) !important;
}

.landing-page h1, .landing-page h2, .landing-page h3, .landing-page h4,
.landing-page h5, .landing-page h6, .landing-page strong, .landing-page p,
.section-white h1, .section-white h2, .section-white h3, .section-white p {
    color: #ffffff !important;
}

.feature-box, .feature-item, [class*="-features"], .landing-page .card {
    background: transparent !important;
    color: var(--color-text-primary) !important;
}

/* All Pricing & Comparison Tables */
.pricing-container .pricing-table .card, .pricing-table .card, .pricing-box,
.comparison-table, .comparison-table thead th, .comparison-table tbody td,
.domain-pricing .table, .tld-pricing .table, .domain-checker-container .card {
    background-color: var(--glass-bg) !important;
    border: 1px solid var(--color-border-default) !important;
    color: #ffffff !important;
}

/* Homepage Domain Search */
.home-domain-search, .home-domain-search.bg-white {
    background-color: var(--color-bg-primary) !important;
    background-image: none !important;
}
.home-domain-search h2, .home-domain-search h3 {
    color: #ffffff !important;
}

/* Tickets & Forms (Select Options, Markdown Editor, Inputs) */
select.form-control option {
    background-color: var(--color-bg-surface) !important;
    color: #ffffff !important;
}
.markdown-editor .md-input, .markdown-editor .md-header, .md-editor {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid var(--color-border-default) !important;
    color: #ffffff !important;
}
.markdown-editor .md-preview {
    background-color: var(--color-bg-surface) !important;
    color: #ffffff !important;
}
label, .control-label {
    color: #e0e0e0 !important;
    font-weight: 500 !important;
}
input[type="text"], input[type="password"], input[type="email"], textarea {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
}
.dropdown-item {
    color: var(--color-text-primary) !important;
}
.dropdown-item:hover, .dropdown-item:focus {
    background-color: var(--color-bg-surface-hover) !important;
    color: var(--color-accent-blue) !important;
}

/* Store Landing Pages */
.landing-page .section, .landing-page .section-white, .landing-page .section-light {
    background-color: var(--color-bg-primary) !important;
    color: var(--color-text-primary) !important;
}
.landing-page .section-white p, .landing-page .section p, .landing-page .feature-box p {
    color: var(--color-text-secondary) !important;
}
.landing-page h1, .landing-page h2, .landing-page h3, .landing-page h4 {
    color: var(--color-text-primary) !important;
}
.landing-page .feature-box, .landing-page .feature-item {
    background: transparent !important;
    color: var(--color-text-primary) !important;
}

/* Store Pricing Tables */
.pricing-container .pricing-table .card, .pricing-table .card, .pricing-box {
    background-color: var(--glass-bg) !important;
    border: 1px solid var(--color-border-default) !important;
    color: var(--color-text-primary) !important;
}
.pricing-container .pricing-table .card-header, .pricing-container .pricing-table .card-footer {
    background-color: transparent !important;
    border-color: var(--color-border-default) !important;
}
.pricing-table .price, .pricing-table .card-title {
    color: var(--color-accent-blue) !important;
}

/* Comparison Tables (NordVPN etc) */
.comparison-table {
    background: transparent !important;
    color: var(--color-text-primary) !important;
}
.comparison-table thead th {
    background: var(--color-bg-surface) !important;
    color: var(--color-accent-blue) !important;
    border: 1px solid var(--color-border-default) !important;
}
.comparison-table tbody td {
    background: transparent !important;
    border: 1px solid var(--color-border-default) !important;
    color: var(--color-text-secondary) !important;
}
.comparison-table tbody tr:hover td {
    background: var(--color-bg-surface-hover) !important;
}

/* Domain Pricing Tables */
.domain-pricing, .tld-pricing {
    background-color: transparent !important;
}
.domain-pricing .table, .tld-pricing .table {
    background-color: var(--glass-bg) !important;
}
.domain-pricing .table thead th, .tld-pricing .table thead th {
    background-color: var(--color-bg-surface) !important;
    color: var(--color-accent-blue) !important;
    border-bottom: 2px solid var(--color-border-default) !important;
}
.domain-pricing .table tbody td, .tld-pricing .table tbody td {
    background-color: transparent !important;
    border-color: var(--color-border-default) !important;
    color: var(--color-text-primary) !important;
}
.domain-checker-container .card {
    background: var(--glass-bg) !important;
}
