
/* Runtime dark patch loaded after React/Vite dynamic CSS */
:root, .soul-home-shell, .site-theme-nertex {
  color-scheme: dark !important;
  --soul-cream:#030712 !important;
  --soul-cream-2:#060b17 !important;
  --soul-ink:#f1f5f9 !important;
  --soul-panel:#0c1220 !important;
  --soul-muted:#94a3b8 !important;
  --soul-purple:#8b5cf6 !important;
  --soul-purple-2:#6d28d9 !important;
  --soul-purple-3:#22d3ee !important;
  --soul-border:rgba(148,163,184,.15) !important;
}
html, body, #root, .soul-home-shell, .site-theme-nertex {
  background: transparent !important;
  color:#f1f5f9 !important;
}
.soul-products-section,
.soul-process-section,
.soul-faq-section,
.soul-reviews-section,
.soul-footer,
.soul-section-heading,
.soul-home-shell section,
.soul-home-shell main {
  background: transparent !important;
  color:#f8fafc !important;
}
.soul-section-heading h2,
.soul-section-heading h3,
.soul-faq-section h2,
.soul-faq-section h3,
.soul-products-section h2,
.soul-products-section h3,
.soul-process-section h2,
.soul-process-section h3,
.soul-reviews-section h2,
.soul-reviews-section h3 {
  color:#f8fafc !important;
}
.soul-section-heading p,
.theme-products-note,
.soul-empty-state,
.soul-empty-state p,
.soul-products-section p,
.soul-faq-section p {
  color:#b8c2d6 !important;
}
/* FAQ blocks */
.soul-faq-list { background: transparent !important; }
.soul-faq-item,
.soul-home-shell .soul-faq-item,
[class*="faq" i][class*="item" i],
[class*="faq" i][class*="card" i],
[class*="faq" i][class*="block" i] {
  background: linear-gradient(180deg, rgba(15,23,42,.92), rgba(7,10,18,.96)) !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  color:#f8fafc !important;
  box-shadow:0 22px 64px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.07) !important;
}
.soul-faq-item.is-open,
.soul-home-shell .soul-faq-item.is-open {
  background: linear-gradient(180deg, rgba(21,31,52,.96), rgba(10,15,28,.98)) !important;
  border-color: rgba(139,92,246,.42) !important;
  box-shadow:0 26px 78px rgba(0,0,0,.48), 0 0 0 1px rgba(139,92,246,.13) inset !important;
}
.soul-faq-question,
.soul-home-shell .soul-faq-question,
[class*="faq" i] button {
  background: transparent !important;
  color:#f8fafc !important;
}
.soul-faq-question-copy > span:last-child,
.soul-home-shell .soul-faq-question-copy > span:last-child {
  color:#f8fafc !important;
}
.soul-faq-index,
.soul-home-shell .soul-faq-index {
  background: rgba(139,92,246,.14) !important;
  border-color: rgba(139,92,246,.38) !important;
  color:#c4b5fd !important;
}
.soul-faq-toggle,
.soul-home-shell .soul-faq-toggle {
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.18) !important;
  color:#f8fafc !important;
}
.soul-faq-answer-copy,
.soul-home-shell .soul-faq-answer-copy {
  background: rgba(3,7,18,.24) !important;
  border-top-color: rgba(148,163,184,.18) !important;
  color:#b8c2d6 !important;
}
.soul-faq-item.is-open .soul-faq-answer-copy,
.soul-home-shell .soul-faq-item.is-open .soul-faq-answer-copy {
  color:#dbeafe !important;
  border-top-color: rgba(255,255,255,.14) !important;
}
/* Admin/dynamic empty blocks, including text 'Р·РґРµСЃСЊ Р°РІС‚РѕРјР°С‚РёС‡РµСЃРєРё...' */
.soul-empty-state,
.soul-home-shell .soul-empty-state,
.theme-products-note,
[class*="empty" i],
[class*="placeholder" i],
[class*="notice" i],
[class*="note" i] {
  background: linear-gradient(180deg, rgba(15,23,42,.82), rgba(7,10,18,.88)) !important;
  border-color: rgba(148,163,184,.18) !important;
  color:#b8c2d6 !important;
  box-shadow:0 18px 52px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.05) !important;
}
/* Extra protection against white cards loaded later */
.soul-home-shell [style*="background:#fff"],
.soul-home-shell [style*="background: #fff"],
.soul-home-shell [style*="background-color:#fff"],
.soul-home-shell [style*="background-color: #fff"],
.soul-home-shell [style*="rgb(255, 255, 255)"],
.soul-home-shell .bg-white,
.soul-home-shell .bg-gray-50,
.soul-home-shell .bg-gray-100,
.soul-home-shell .bg-slate-50,
.soul-home-shell .bg-neutral-50 {
  background: linear-gradient(180deg, rgba(15,23,42,.92), rgba(7,10,18,.96)) !important;
  color:#f8fafc !important;
}
.soul-home-shell .text-black,
.soul-home-shell .text-gray-900,
.soul-home-shell .text-gray-800,
.soul-home-shell .text-slate-900,
.soul-home-shell [style*="color:#111"],
.soul-home-shell [style*="color: #111"],
.soul-home-shell [style*="color:#000"],
.soul-home-shell [style*="color: #000"] {
  color:#f8fafc !important;
}
.soul-home-shell .text-gray-700,
.soul-home-shell .text-gray-600,
.soul-home-shell .text-slate-700,
.soul-home-shell .text-slate-600 {
  color:#b8c2d6 !important;
}


/* process timeline fixes */
[class*="timeline"] *, [class*="process"] * {
  color: inherit;
}
.soul-process-duration,
[class*="duration"],
[class*="time-badge"],
[class*="timeline-badge"],
[class*="process-badge"]{
  background: rgba(139,92,246,.18)!important;
  border:1px solid rgba(139,92,246,.55)!important;
  color:#ffffff!important;
  font-weight:700!important;
  text-shadow:none!important;
}
.soul-process-duration *,.soul-process-duration span,
[class*="duration"] *,[class*="time-badge"] *{
  color:#ffffff!important;
}
.soul-process-accent-card,
[class*="individual"],
[class*="custom-solution"]{
  background: linear-gradient(135deg,#7c3aed,#8b5cf6)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.soul-process-accent-card *,
[class*="individual"] *,
[class*="custom-solution"] *{
  color:#fff!important;
}
/* bottom process labels */
.soul-process-timeline,
.soul-process-timeline *{
  color:#dbe4ff!important;
}


/* process timeline fixes */
.soul-process-timeline span,
.soul-process-step-label,
[class*="process"] [class*="label"],
[class*="timeline"] span{
 color:#f8fafc !important;
 text-shadow:none !important;
}
.soul-process-duration,
[class*="duration"],
[class*="time-badge"],
[class*="timeline"] [class*="badge"]{
 background:linear-gradient(135deg,#7c3aed,#8b5cf6)!important;
 color:#fff !important;
 border:1px solid rgba(196,181,253,.6)!important;
 opacity:1!important;
 font-weight:700!important;
}
.soul-process-duration *{color:#fff!important;}
.theme-process-highlight,
.soul-process-highlight,
.soul-process-note,
.soul-process-card--accent{
 background:linear-gradient(135deg,#6d28d9,#8b5cf6)!important;
 color:#fff!important;
 border-color:rgba(255,255,255,.15)!important;
 box-shadow:0 20px 60px rgba(124,58,237,.35)!important;
}
.theme-process-highlight *,
.soul-process-highlight *,
.soul-process-note *{
 color:#fff!important;
}

/* === Nertex final contrast guard: prevents dark text on dark backgrounds === */
:root, :host, html, body, #root, .site-theme-nertex, .soul-home-shell {
  --soul-cream: #070a12 !important;
  --soul-cream-2: #0d1320 !important;
  --soul-ink: #f8fafc !important;
  --soul-muted: #b8c2d6 !important;
  --soul-panel: #101827 !important;
  --app-text: #f8fafc !important;
  --app-muted: #b8c2d6 !important;
  background-color: transparent !important;
  color: #f8fafc !important;
}

body, main, section, article, aside, header, footer, nav,
.soul-home-shell, .theme-page-shell, .main-content,
.soul-products-section, .soul-reviews-section, .soul-process-section, .soul-faq-section {
  color: #f8fafc !important;
}

/* Force old light-theme dark colors to readable values */
[style*="color:#111"], [style*="color: #111"],
[style*="color:#000"], [style*="color: #000"],
[style*="color: rgb(0"], [style*="color:rgb(0"],
[style*="color: #111010"], [style*="color:#111010"],
.text-black, .text-gray-950, .text-gray-900, .text-gray-800,
.text-slate-950, .text-slate-900, .text-slate-800,
.text-neutral-950, .text-neutral-900, .text-neutral-800,
.soul-product-title, .soul-product-rating,
.soul-product-modal-content h1, .soul-product-modal-content h2, .soul-product-modal-content h3,
.soul-faq-question, .soul-faq-question *, .soul-section-heading h1, .soul-section-heading h2,
h1, h2, h3, h4, h5, h6, strong, b, label {
  color: #f8fafc !important;
}

/* Muted text must be light-muted, not dark gray */
.text-gray-700, .text-gray-600, .text-gray-500, .text-gray-400,
.text-slate-700, .text-slate-600, .text-slate-500, .text-slate-400,
.text-neutral-700, .text-neutral-600, .text-neutral-500, .text-neutral-400,
p, li, small, .soul-product-description, .soul-product-modal-description,
.soul-hero-subtitle, .soul-section-heading p, .theme-products-note,
.soul-empty-state, .soul-empty-state *, .soul-faq-answer-copy,
.soul-footer p, .review-card p, .product-card p {
  color: #b8c2d6 !important;
}

/* Cards, modals and dropdowns: dark surface + light text */
.soul-product-card, .product-card, .review-card, .soul-empty-state,
.soul-product-modal, .soul-product-modal-content, .modal-content, .modal-panel,
.soul-profile-menu, .soul-mobile-panel, .dropdown-menu,
.app-card, .theme-default-card, .glass, .glass-dark {
  background: linear-gradient(180deg, rgba(15, 23, 42, .92), rgba(7, 10, 18, .96)) !important;
  color: #f8fafc !important;
  border-color: rgba(148, 163, 184, .20) !important;
}

/* Product media / placeholders */
.soul-product-placeholder, .soul-product-placeholder *,
[class*="placeholder"], [class*="placeholder"] * {
  color: #cbd5e1 !important;
}
.soul-product-status, .soul-product-category, .soul-product-discount,
.soul-product-status *, .soul-product-category *, .soul-product-discount * {
  color: #ffffff !important;
}
.soul-product-price, .soul-product-modal-price {
  color: #c4b5fd !important;
}
.soul-product-price small, .soul-product-modal-price small {
  color: #94a3b8 !important;
}

/* Forms */
input, textarea, select, option, .app-input {
  background: rgba(3, 7, 18, .86) !important;
  color: #f8fafc !important;
  border-color: rgba(148, 163, 184, .28) !important;
}
input::placeholder, textarea::placeholder {
  color: #94a3b8 !important;
}

/* Buttons on dark backgrounds */
button, .soul-button, .app-button, .soul-login-button {
  color: #ffffff !important;
}
.soul-card-action {
  background: #111010 !important;
  color: #ffffff !important;
}
.soul-circle-action, .soul-process-card > span {
  background: rgba(248, 250, 252, .96) !important;
  color: #0f172a !important;
}
.soul-circle-action *, .soul-process-card > span * {
  color: #0f172a !important;
}

/* Links stay visible */
a, a:visited {
  color: #c4b5fd !important;
}
a:hover {
  color: #67e8f9 !important;
}


/* Nertex anti-flicker patch: prevents block flashing caused by heavy animations, transitions and GPU blur layers. */
/* Background is handled by layered pseudo-elements for living effect (see theme-overrides.css). */
body { color: #f8fafc !important; }

/* Disable decorative animations that can make sections blink during hydration/scroll. */
.animated-bg, .particle, .blob, .cyber-grid, .gradient-border:before,
.page-enter, .reveal, .glitch:hover:before, .glitch:hover:after {
  animation: none !important;
}

/* Keep content visible without JS reveal timing. */
.reveal, .page-enter {
  opacity: 1 !important;
  transform: none !important;
}

/* Avoid layout/paint flicker from broad transitions. */
.soul-home-shell *, .app-card, .app-soft-panel, .app-floating-surface,
.glass, .glass-dark, .hover-lift, .card-3d, .soul-approach-card,
.soul-filter-button, .soul-button, .app-button, .app-button-ghost, .app-input {
  transition-property: color, background-color, border-color, box-shadow, opacity !important;
  transition-duration: .12s !important;
}

/* Disable hover transforms that cause repaint flashes on some browsers/GPUs. */
.hover-lift:hover, .card-3d:hover, .soul-home-shell .soul-filter-button:hover,
.soul-login-button:hover, .soul-button:hover, .app-button:hover, .soul-kicker:hover {
  transform: none !important;
}

/* Backdrop-filter often causes dark/light flashing on re-render; use stable translucent backgrounds. */
.glass, .glass-dark, .app-card, .app-soft-panel, .app-floating-surface,
.soul-nav, .soul-mobile-backdrop, .soul-metric-card {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Preserve loaders only; they should not affect surrounding blocks. */
.soul-loader, .loader {
  animation: spin .9s linear infinite !important;
}
