.site-theme-nertex {
  background: transparent !important;
  color: var(--soul-ink);
}

.site-theme-nertex .main-content {
  min-height: 0;
}

.site-theme-nertex .theme-page-shell {
  min-height: 100dvh;
}

.site-theme-nertex .theme-default-page {
  padding: 3rem 0 5rem;
}

.site-theme-nertex .theme-default-card {
  border: 1px solid var(--soul-ink);
  border-radius: 28px;
  background: var(--soul-cream);
  padding: 1.5rem;
  box-shadow: 0 12px 32px rgba(17, 16, 16, 0.08);
}

.site-theme-nertex .theme-default-card h1,
.site-theme-nertex .theme-default-card h2,
.site-theme-nertex .theme-default-card h3 {
  margin: 0 0 1rem;
}

.site-theme-nertex .theme-default-card p {
  color: var(--soul-muted);
}

.site-theme-nertex .theme-flash-stack {
  display: grid;
  gap: 0.75rem;
  margin: 1rem auto 0;
}

.site-theme-nertex .theme-flash-message {
  border: 1px solid var(--soul-ink);
  border-radius: 18px;
  background: var(--soul-cream);
  padding: 0.9rem 1rem;
  font-weight: 700;
}

.site-theme-nertex .theme-flash-message.success {
  border-color: rgba(41, 182, 168, 0.45);
}

.site-theme-nertex .theme-flash-message.error,
.site-theme-nertex .theme-flash-message.danger {
  border-color: rgba(255, 127, 138, 0.6);
}

.site-theme-nertex .theme-flash-message.warning {
  border-color: rgba(255, 195, 108, 0.8);
}

.site-theme-nertex .theme-user-meta {
  display: grid;
  gap: 0.1rem;
  text-align: left;
}

.site-theme-nertex .theme-user-meta small {
  color: var(--soul-muted);
  font-size: 0.75rem;
  font-weight: 700;
}

.site-theme-nertex .theme-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.site-theme-nertex .theme-avatar-fallback {
  display: inline-grid;
  width: 100%;
  height: 100%;
  place-items: center;
}

.site-theme-nertex .soul-mobile-panel .theme-mobile-user {
  display: grid;
  gap: 0.2rem;
}

.site-theme-nertex .theme-products-note {
  margin: 0 0 2rem;
  text-align: center;
  color: var(--soul-muted);
  font-weight: 600;
}

.site-theme-nertex .theme-news-link {
  display: block;
}

.site-theme-nertex .theme-hero-news {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  border: 1px solid rgba(17, 16, 16, 0.1);
  border-radius: 999px;
  background: rgba(255, 246, 237, 0.72);
  padding: 0.6rem 0.9rem;
  font-size: 0.95rem;
  font-weight: 700;
}

.site-theme-nertex .theme-hero-news strong {
  color: var(--soul-purple);
}

.site-theme-nertex .theme-process-accent {
  color: var(--soul-purple);
}

.site-theme-nertex .theme-faq-answer-copy a {
  text-decoration: underline;
}


/* === VERTEX Dark Matter — полностью переработанный современный тёмный фон === */
:root,:host{
  color-scheme: dark;
  --soul-cream:#030712;
  --soul-cream-2:#060b17;
  --soul-ink:#f1f5f9;
  --soul-muted:#94a3b8;
  --soul-panel:#0c1220;
  --soul-purple:#8b5cf6;
  --soul-purple-2:#6d28d9;
  --soul-purple-3:#22d3ee;
  --soul-border:rgba(148,163,184,.15);
  --app-bg:#030712;
  --app-bg-2:#060b17;
  --app-surface:rgba(12,18,32,.82);
  --app-surface-2:rgba(16,24,42,.86);
  --app-border:rgba(148,163,184,.18);
  --app-border-soft:rgba(148,163,184,.10);
  --app-text:#f1f5f9;
  --app-muted:#94a3b8;
  --app-primary:#8b5cf6;
  --app-primary-2:#22d3ee;
  --app-success:#34d399;
  --app-danger:#fb7185;
  --app-warning:#fbbf24;
  --app-glow:rgba(139,92,246,.15);
}

/* === ФОН ТОЛЬКО НА HTML (остальные прозрачные) === */
body:before, body:after, html:before, html:after {
  display: none !important;
}
html, body, #root, .app-loading-screen,
.site-theme-nertex, .theme-page-shell, .main-content,
.page-shell-body, .soul-home-shell {
  background: transparent !important;
}
html {
  background:
    radial-gradient(ellipse 90% 60% at 20% 0%, rgba(139,92,246,.18) 0%, transparent 60%),
    radial-gradient(ellipse 80% 50% at 85% 10%, rgba(34,211,238,.12) 0%, transparent 55%),
    radial-gradient(ellipse 70% 45% at 50% 35%, rgba(99,102,241,.08) 0%, transparent 50%),
    radial-gradient(ellipse 60% 40% at 75% 80%, rgba(236,72,153,.06) 0%, transparent 45%),
    radial-gradient(ellipse 50% 35% at 25% 85%, rgba(59,130,246,.06) 0%, transparent 45%),
    linear-gradient(175deg, #020617 0%, #060b17 25%, #080f1f 50%, #060b17 75%, #020617 100%);
  background-attachment: scroll;
}

/* === МОДАЛЬНЫЙ ОВЕРЛЕЙ — блюр при открытии карточки товара === */
.modal-overlay {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-width: 100vw !important;
  min-height: 100vh !important;
  border: none !important;
  background: rgba(0,0,0,.45) !important;
  backdrop-filter: blur(40px) saturate(0.5) brightness(0.55) !important;
  -webkit-backdrop-filter: blur(40px) saturate(0.5) brightness(0.55) !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 998;
}

::selection{ background: rgba(139,92,246,.5) !important; color:#fff !important }
::moz-selection{ background: rgba(139,92,246,.5) !important; color:#fff !important }

/* ============================================================
   КОМПОНЕНТЫ — современный glass-morphism дизайн
   ============================================================ */

/* === НАВИГАЦИЯ === */
.soul-nav{
  background: rgba(3,7,18,.72) !important;
  border-bottom: 1px solid rgba(148,163,184,.10) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.35), inset 0 1px rgba(255,255,255,.04) !important;
  backdrop-filter: blur(24px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.4) !important;
}
.soul-nav.is-solid{
  background: rgba(3,7,18,.88) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.45), inset 0 1px rgba(255,255,255,.04) !important;
}
.soul-nav-logo,.soul-profile-button,.soul-nav-burger{
  background: rgba(15,23,42,.75) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.06) !important;
}
.soul-nav-center a{
  color: var(--soul-muted) !important;
  border-radius: 8px !important;
  transition: all .25s ease !important;
}
.soul-nav-center a:hover,.soul-nav-center a.is-active{
  background: rgba(139,92,246,.15) !important;
  color: #fff !important;
  box-shadow: 0 0 20px rgba(139,92,246,.1) !important;
}

/* === КНОПКИ === */
.soul-login-button,.soul-button,.app-button{
  background: linear-gradient(135deg, #8b5cf6 0%, #6d28d9 50%, #5b21b6 100%) !important;
  background-size: 200% 200% !important;
  animation: btnShimmer 6s ease-in-out infinite !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  color: #fff !important;
  box-shadow: 0 8px 30px rgba(139,92,246,.25), inset 0 1px rgba(255,255,255,.1) !important;
}
.soul-login-button:hover,.soul-button:hover,.app-button:hover{
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 40px rgba(139,92,246,.35), 0 0 30px rgba(34,211,238,.08), inset 0 1px rgba(255,255,255,.12) !important;
  filter: brightness(1.05);
}
.soul-login-button:active,.soul-button:active,.app-button:active{
  transform: translateY(0) scale(.97) !important;
}

@keyframes btnShimmer{
  0%,100%{ background-position: 0% 50%; }
  50%{ background-position: 100% 50%; }
}

.app-button:after, .soul-button:after, .soul-login-button:after{
  content:''; position:absolute; inset:0; border-radius:inherit;
  background:linear-gradient(135deg,transparent 30%,rgba(255,255,255,.12) 50%,transparent 70%);
  background-size:200% 200%; opacity:0;
  transition:opacity .4s ease; pointer-events:none;
}
.app-button:hover:after, .soul-button:hover:after, .soul-login-button:hover:after{ opacity:1; animation:btnShine .5s ease-out; }
@keyframes btnShine{ 0%{background-position:200% 200%} 100%{background-position:-200% -200%} }

/* === ПАНЕЛИ / ДРОПДАУНЫ === */
.soul-profile-menu,.soul-mobile-panel{
  background: rgba(6,10,20,.96) !important;
  border: 1px solid rgba(148,163,184,.15) !important;
  box-shadow: 0 25px 70px rgba(0,0,0,.5), inset 0 1px rgba(255,255,255,.04) !important;
  backdrop-filter: blur(28px) !important;
  -webkit-backdrop-filter: blur(28px) !important;
}
.soul-mobile-backdrop{
  background: rgba(0,0,0,.65) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}
.soul-mobile-panel a{
  border-color: rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.02) !important;
  border-radius: 10px !important;
}
.soul-mobile-panel a.is-active,.soul-mobile-panel a:hover{
  background: rgba(139,92,246,.15) !important;
  color: #fff !important;
}

/* === ГЕРО-СЕКЦИЯ === */
.soul-hero:before{
  background:
    radial-gradient(ellipse 70% 50% at 25% 10%, rgba(139,92,246,.22), transparent 55%),
    radial-gradient(ellipse 50% 40% at 75% 5%, rgba(34,211,238,.12), transparent 50%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent) !important;
  clip-path: ellipse(80% 55% at 50% 0%) !important;
}
.soul-hero:after{
  border-color: rgba(139,92,246,.18) !important;
  box-shadow: 0 0 70px rgba(139,92,246,.10), inset 0 0 40px rgba(139,92,246,.04) !important;
}
.soul-hero-title,.soul-section-heading h2,.soul-approach-card h3{
  color: #f8fafc !important;
}
.soul-hero-subtitle,.soul-section-heading p,.app-muted,.theme-products-note{
  color: var(--soul-muted) !important;
}
.soul-serif,.soul-purple,.soul-eyebrow,.theme-process-accent{
  color: #a78bfa !important;
}
.soul-kicker{
  border-color: rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.04) !important;
  color: #e7e9ff !important;
  box-shadow: inset 0 1px rgba(255,255,255,.05) !important;
  backdrop-filter: blur(8px) !important;
}
.soul-kicker:hover{
  background: rgba(139,92,246,.14) !important;
  box-shadow: 0 0 25px rgba(139,92,246,.08) !important;
}

/* === МЕТРИКИ === */
.soul-metric-card{
  background: rgba(12,18,32,.72) !important;
  border: 1px solid rgba(148,163,184,.12) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.05) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}
.soul-metric-card strong{ color: #a78bfa !important }
.soul-metric-card span{ color: #cbd5e1 !important }

/* === ПОДХОД / КАРТОЧКИ === */
.soul-approach-panel{
  background: linear-gradient(180deg, rgba(12,18,32,.96), rgba(3,7,18,.96)) !important;
  border: 1px solid rgba(148,163,184,.12) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.45), inset 0 1px rgba(255,255,255,.05) !important;
  backdrop-filter: blur(8px) !important;
}
.soul-approach-main{
  background: linear-gradient(135deg, #8b5cf6 0%, #6d28d9 55%, #5b21b6 100%) !important;
  color: #fff !important;
  box-shadow: 0 18px 50px rgba(139,92,246,.22) !important;
}
.soul-approach-card,.theme-default-card,.modal-root .app-card{
  background: linear-gradient(180deg, rgba(12,18,32,.92), rgba(6,10,20,.96)) !important;
  border: 1px solid rgba(148,163,184,.12) !important;
  color: #f8fafc !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.32), inset 0 1px rgba(255,255,255,.05) !important;
  backdrop-filter: blur(12px) !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
}
.soul-approach-card:hover, .theme-default-card:hover{
  transform: translateY(-3px) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.4), 0 0 30px rgba(139,92,246,.06), inset 0 1px rgba(255,255,255,.06) !important;
}
.soul-approach-card p,.theme-default-card p{ color: #b8c2d6 !important }
.soul-approach-badge{
  background: rgba(255,255,255,.03) !important;
  border-color: rgba(255,255,255,.12) !important;
  color: #f8fafc !important;
}
.soul-approach-badge span{
  border-color: rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
}
.soul-circle-action{
  background: rgba(248,250,252,.95) !important;
  color: #0f172a !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.28) !important;
}
.soul-marquee{
  background: linear-gradient(90deg, #7c3aed, #5b7cfa, #06b6d4) !important;
  color: #fff !important;
  box-shadow: 0 -1px rgba(255,255,255,.08), 0 1px rgba(255,255,255,.08) !important;
}

/* === ФИЛЬТРЫ === */
.soul-filter-button{
  border-color: rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.03) !important;
  color: #dbeafe !important;
  backdrop-filter: blur(4px) !important;
}
.soul-filter-button:hover,.soul-filter-button.is-active,.filter-btn.active{
  background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.15) !important;
  box-shadow: 0 8px 25px rgba(139,92,246,.2) !important;
}

/* === КАРТОЧКИ ТОВАРОВ / ПРИЛОЖЕНИЙ === */
.product-card,.app-card,.glass,.glass-dark,.app-soft-panel,.app-floating-surface,.app-empty-state{
  background: linear-gradient(180deg, rgba(12,18,32,.88), rgba(6,10,20,.94)) !important;
  border: 1px solid rgba(148,163,184,.10) !important;
  color: #f8fafc !important;
  box-shadow: 0 22px 64px rgba(0,0,0,.35), inset 0 1px rgba(255,255,255,.05) !important;
  backdrop-filter: blur(12px) !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
}
.product-card:hover, .app-card:hover, .glass:hover{
  transform: translateY(-3px) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.42), 0 0 30px rgba(139,92,246,.06), inset 0 1px rgba(255,255,255,.06) !important;
}
.app-pill,.app-badge,.app-chip{
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.10) !important;
  color: #dbeafe !important;
}
.app-input{
  background: rgba(3,7,18,.78) !important;
  border: 1px solid rgba(148,163,184,.2) !important;
  color: #f8fafc !important;
  transition: border-color .25s ease, box-shadow .25s ease !important;
}
.app-input::placeholder{ color: #64748b !important }
.app-input:focus{
  border-color: #8b5cf6 !important;
  box-shadow: 0 0 0 3px rgba(139,92,246,.18), 0 0 20px rgba(139,92,246,.06) !important;
}
.app-button-ghost{
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.12) !important;
  color: #f8fafc !important;
}
.app-button-ghost:hover{
  background: rgba(139,92,246,.14) !important;
  border-color: rgba(139,92,246,.35) !important;
  box-shadow: 0 0 20px rgba(139,92,246,.08) !important;
}
.app-divider{ background: linear-gradient(90deg, transparent, rgba(148,163,184,.25), transparent) !important }

/* === SEO HOME === */
#seo-home{ background:transparent !important; color:#f8fafc !important }
#seo-home p,#seo-home li{ color:#94a3b8 !important }
#seo-home a[href="/auth"]{
  background:linear-gradient(135deg,#8b5cf6,#6d28d9 55%,#5b21b6) !important;
  color:#fff !important;
  box-shadow:0 8px 28px rgba(139,92,246,.25) !important;
  transition:all .3s cubic-bezier(.22,1,.36,1) !important;
}
#seo-home a[href="/auth"]:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 12px 35px rgba(139,92,246,.3), 0 0 40px rgba(34,211,238,.06) !important;
}
noscript main{ background:#030712 !important; color:#f8fafc !important }

.text-gray-400,.text-gray-500,.text-slate-300{ color:#94a3b8 !important }
.text-white,.text-gray-100,.text-gray-200,.text-slate-100{ color:#f8fafc !important }
.border-gray-200,.border-gray-300{ border-color:rgba(255,255,255,.10) !important }
.bg-white,.bg-gray-100{ background:rgba(12,18,32,.88) !important }
.bg-black{ background:#020617 !important }

/* === FAQ КАРТОЧКИ === */
.soul-faq-item,.faq-item,.faq-card,.accordion-item{
  background:var(--app-surface) !important;
  border:1px solid var(--app-border) !important;
  color:#fff !important;
}
.soul-faq-item *,.faq-item *,.faq-card *,.accordion-item *{
  color:#fff !important;
}

/* === ПРОЦЕСС TIMELINE === */
.theme-process-card .theme-process-days,
.theme-process-duration,
.theme-process-time,
[class*="process"] [class*="day"],
[class*="process"] [class*="duration"]{
  color:#a78bfa !important;
  font-weight:800 !important;
}
.theme-process-card--accent,
.theme-process-card.accent,
.theme-custom-card-accent{
  background:linear-gradient(135deg,#7c3aed,#8b5cf6) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 18px 45px rgba(124,58,237,.45) !important;
}
.theme-process-card--accent *,
.theme-process-card.accent *,
.theme-custom-card-accent *{
  color:#fff !important;
}

/* === СТАБИЛЬНЫЕ ПЕРЕХОДЫ (анти-мерцание) === */
.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: .15s !important;
}
.soul-loader, .loader {
  animation: spin .9s linear infinite !important;
}

/* === СТРАНИЦЫ === */
.site-theme-nertex .page-shell-body,
.site-theme-nertex .page-shell-content,
.site-theme-nertex .theme-page-shell{
  padding-top:0 !important;
  margin-top:0 !important;
}
.page-shell-content { background: transparent !important; }

/* === БЛОК ПОДХОДА — убрать пустое место справа === */
.soul-approach-panel{
  grid-template-columns: minmax(0,1.4fr) repeat(2,minmax(0,1fr)) !important;
}
