/* hapticmotion.com — тёмная тема: #020617 фон, #111827 карточки, #22C55E / #60A5FA акценты, #E5E7EB текст */
:root {
  --primary-50: #ecfdf5;
  --primary-100: #d1fae5;
  --primary-200: #a7f3d0;
  --primary-300: #6ee7b7;
  --primary-400: #4ade80;
  --primary-500: #22c55e;
  --primary-600: #16a34a;
  --primary-700: #15803d;
  --primary-800: #166534;
  --primary-900: #14532d;
  --primary-rgb: 34, 197, 94;
  --neutral-50: #f8fafc;
  --neutral-100: #f1f5f9;
  --neutral-200: #e2e8f0;
  --neutral-300: #cbd5e1;
  --neutral-400: #94a3b8;
  --neutral-500: #64748b;
  --neutral-600: #475569;
  --neutral-700: #334155;
  --neutral-800: #1e293b;
  --neutral-900: #0f172a;
  --neutral-950: #020617;
  --surface-primary: #111827;
  --surface-secondary: #0f172a;
  --surface-accent: #1e293b;
  --text-primary: #e5e7eb;
  --text-secondary: #94a3b8;
  --text-accent: #22c55e;
  --button-primary-bg: #22c55e;
  --button-primary-text: #020617;
  --button-secondary-bg: #1e293b;
  --button-secondary-text: #e5e7eb;
  --border-light: #334155;
  --border-medium: #475569;
  --accent-rgb: 96, 165, 250;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: #020617 !important;
  color: #e5e7eb !important;
}

.text-muted,
.top_body_base.text-muted,
.page_section_subtitle,
.blog-desc,
.lead.text-muted,
.text-secondary {
  color: #94a3b8 !important;
}

.header-clean {
  background: rgba(17, 24, 39, 0.92) !important;
  border-bottom: 1px solid #1f2937;
  backdrop-filter: blur(10px);
}

.header-clean .navbar-dark .nav-link {
  color: #e5e7eb !important;
}

.header-clean .navbar-dark .nav-link:hover,
.header-clean .navbar-dark .nav-link:focus {
  color: #22c55e !important;
}

.header-clean .brand-text {
  color: #e5e7eb !important;
}

.header-clean .custom-toggler .line {
  background: #e5e7eb !important;
}

.header-clean .navbar-backdrop {
  background: rgba(2, 6, 23, 0.65) !important;
}

.hero-section {
  background: radial-gradient(ellipse at 20% 0%, rgba(34, 197, 94, 0.12), transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(96, 165, 250, 0.1), transparent 45%),
    #020617 !important;
}

.fresh_hero_title,
.core_section_title,
.display-4,
.blog-title {
  color: #f9fafb !important;
}

.btn-primary {
  background-color: #22c55e !important;
  border-color: #22c55e !important;
  color: #020617 !important;
}

.btn-primary:hover {
  background-color: #16a34a !important;
  border-color: #16a34a !important;
  color: #020617 !important;
}

.btn-outline-primary {
  color: #60a5fa !important;
  border-color: #60a5fa !important;
}

.btn-outline-primary:hover {
  background: rgba(96, 165, 250, 0.15) !important;
  color: #93c5fd !important;
}

.usp-item,
.about-feature-card,
.service-card,
.leadgen-form-card,
.form-card,
.info-card,
.blog-card {
  background: #111827 !important;
  border: 1px solid #1f2937 !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35) !important;
}

.usp-item-stat.clean_overline {
  color: #22c55e !important;
}

.service-card-featured {
  outline: 1px solid rgba(96, 165, 250, 0.45);
}

.service-price {
  color: #60a5fa !important;
}

.leadgen-section-secondary {
  background: linear-gradient(180deg, #0f172a 0%, #020617 100%) !important;
}

.form-control,
.form-select,
.form-input,
.form-textarea {
  background-color: #0f172a !important;
  border-color: #334155 !important;
  color: #e5e7eb !important;
}

.form-floating > label {
  color: #94a3b8 !important;
}

.contact-section {
  background: #020617 !important;
}

.contact-container .info-card-primary,
.contact-container .info-card-secondary {
  background: #111827 !important;
  border: 1px solid #1f2937 !important;
}

.footer-professional-blue-01 {
  background: #020617 !important;
  border-top: 1px solid #1f2937;
}

.footer-professional-blue-01 .footer-link {
  color: #cbd5e1 !important;
}

.footer-professional-blue-01 .footer-link:hover {
  color: #22c55e !important;
}

.footer-divider {
  border-color: #1f2937 !important;
}

.dropdown-menu-dark {
  background-color: #111827 !important;
  border: 1px solid #1f2937 !important;
}

.dropdown-item {
  color: #e5e7eb !important;
}

.dropdown-item:hover {
  background: #1e293b !important;
  color: #22c55e !important;
}

.article-container .blog-article {
  color: #e5e7eb !important;
}

.article-container .blog-article h1,
.article-container .blog-article h2,
.article-container .blog-article h3 {
  color: #f9fafb !important;
}

.map-embed-wrap iframe {
  border-radius: 0.5rem;
}

.ratio {
  background: #111827;
}
