/* Night theme — activated via html[data-theme="dark"] (see /js/theme-toggle.js) */
[data-theme="dark"] {
  color-scheme: dark;
}

[data-theme="dark"] .cookie-banner {
  box-shadow: 0 -10px 32px rgba(0, 0, 0, 0.45);
}

/* Icons: correct state before/without JS (early script sets data-theme on <html>) */
[data-theme="dark"] #themeIconMoon {
  display: none !important;
}
[data-theme="dark"] #themeIconSun {
  display: inline-block !important;
}
[data-theme="light"] #themeIconSun {
  display: none !important;
}
[data-theme="light"] #themeIconMoon {
  display: inline-block !important;
}

[data-theme="dark"] .scroll-ambient {
  background: linear-gradient(
    168deg,
    #0c1222 0%,
    #0f172a 14%,
    #111c33 30%,
    #0f2847 48%,
    #0c1e35 64%,
    #0f172a 82%,
    #0a1628 100%
  );
}
[data-theme="dark"] .scroll-ambient::after {
  background: radial-gradient(
    ellipse 80% 50% at 50% calc(20% + var(--scroll-t, 0) * 40%),
    rgba(59, 130, 246, 0.2),
    transparent 65%
  );
  opacity: calc(0.45 + var(--scroll-t, 0) * 0.35);
}

[data-theme="dark"] .hero-bg {
  background:
    radial-gradient(900px 450px at 20% 15%, rgba(59, 130, 246, 0.12), transparent 60%),
    radial-gradient(700px 350px at 85% 20%, rgba(11, 42, 91, 0.35), transparent 55%),
    radial-gradient(1000px 600px at 45% 100%, rgba(30, 58, 138, 0.15), transparent 60%);
}

[data-theme="dark"] .hero-tech-grid {
  background-image:
    linear-gradient(rgba(148, 163, 184, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.08) 1px, transparent 1px);
}

[data-theme="dark"] .hero-code-pulse {
  color: rgba(148, 163, 184, 0.35);
}
[data-theme="dark"] .hero-line-2 {
  color: rgb(226 232 240) !important;
}
[data-theme="dark"] .hero-subtitle-scroll {
  color: rgb(148 163 184) !important;
}
[data-theme="dark"] .hero-word {
  color: rgb(148 163 184);
}

[data-theme="dark"] .section-surface {
  background: rgba(15, 23, 42, 0.82);
  border-color: rgba(51, 65, 85, 0.5);
}
[data-theme="dark"] .section-surface-soft {
  background: rgba(15, 23, 42, 0.65);
}

[data-theme="dark"] nav.fixed {
  background-color: rgba(15, 23, 42, 0.92) !important;
  border-color: rgb(51 65 85) !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.8);
}
[data-theme="dark"] #mobileMenu {
  background-color: rgb(15 23 42) !important;
  border-color: rgb(51 65 85) !important;
}

[data-theme="dark"] .nav-link {
  color: #e2e8f0 !important;
}
[data-theme="dark"] .nav-link:hover {
  color: #93c5fd !important;
}

[data-theme="dark"] .mobile-link {
  background: rgb(30 41 59) !important;
  border-color: rgb(51 65 85) !important;
  color: #e2e8f0 !important;
}
[data-theme="dark"] .mobile-link:hover {
  background: rgb(51 65 85) !important;
}

[data-theme="dark"] .text-slate-900 {
  color: #f1f5f9 !important;
}
[data-theme="dark"] .text-slate-800 {
  color: #e2e8f0 !important;
}
[data-theme="dark"] .text-slate-700 {
  color: #cbd5e1 !important;
}
[data-theme="dark"] .text-slate-600 {
  color: #94a3b8 !important;
}
[data-theme="dark"] .text-slate-500 {
  color: #94a3b8 !important;
}

[data-theme="dark"] .bg-white {
  background-color: rgb(15 23 42) !important;
}
[data-theme="dark"] .bg-slate-50 {
  background-color: rgb(15 23 42) !important;
}
[data-theme="dark"] .bg-slate-100 {
  background-color: rgb(30 41 59) !important;
}
[data-theme="dark"] .border-slate-200 {
  border-color: rgb(51 65 85) !important;
}
[data-theme="dark"] .border-slate-100 {
  border-color: rgb(51 65 85) !important;
}

[data-theme="dark"] .bg-gradient-to-b.from-slate-50,
[data-theme="dark"] .from-slate-50 {
  --tw-gradient-from: rgb(15 23 42) var(--tw-gradient-from-position);
}

[data-theme="dark"] .glass-card,
[data-theme="dark"] .info-card,
[data-theme="dark"] .step-card,
[data-theme="dark"] .service-card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .portfolio-item,
[data-theme="dark"] .policy-card {
  background: rgb(30 41 59) !important;
  border-color: rgb(51 65 85) !important;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .kpi-card-row {
  background: rgba(30, 41, 59, 0.95) !important;
  border-color: rgb(51 65 85) !important;
}

[data-theme="dark"] .pill {
  background: rgb(30 41 59) !important;
  border-color: rgb(51 65 85) !important;
  color: #e2e8f0 !important;
}

[data-theme="dark"] .chip {
  background: rgb(15 23 42) !important;
  border-color: rgb(51 65 85) !important;
  color: #cbd5e1 !important;
}

[data-theme="dark"] .stat-title,
[data-theme="dark"] .info-title,
[data-theme="dark"] .step-title,
[data-theme="dark"] .kpi-title {
  color: #f1f5f9 !important;
}
[data-theme="dark"] .stat-desc,
[data-theme="dark"] .info-desc,
[data-theme="dark"] .step-desc,
[data-theme="dark"] .kpi-desc {
  color: #94a3b8 !important;
}

[data-theme="dark"] .stat-icon,
[data-theme="dark"] .kpi-icon {
  background: rgba(59, 130, 246, 0.15) !important;
  color: #93c5fd !important;
}

[data-theme="dark"] .section-title {
  color: #f8fafc !important;
}

[data-theme="dark"] .policy-header:hover {
  background: rgb(30 41 59) !important;
}
[data-theme="dark"] .policy-title {
  color: #e2e8f0 !important;
}
[data-theme="dark"] .policy-body {
  color: #cbd5e1 !important;
}

[data-theme="dark"] .contact-row {
  color: #cbd5e1 !important;
}

[data-theme="dark"] .label {
  color: #94a3b8 !important;
}
[data-theme="dark"] .input {
  background: rgb(15 23 42) !important;
  border-color: rgb(51 65 85) !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .btn-secondary {
  background: rgb(30 41 59) !important;
  color: #e2e8f0 !important;
  border: 1px solid rgb(51 65 85) !important;
}
[data-theme="dark"] .btn-secondary:hover {
  background: rgb(51 65 85) !important;
}

[data-theme="dark"] .drawer {
  background: rgb(15 23 42) !important;
  box-shadow: -20px 0 60px rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .drawer h2,
[data-theme="dark"] .drawer .font-extrabold {
  color: #f1f5f9 !important;
}

[data-theme="dark"] .modal-content {
  background: rgb(30 41 59) !important;
  color: #e2e8f0 !important;
}
[data-theme="dark"] .modal-content .policy-body {
  color: #cbd5e1 !important;
}

[data-theme="dark"] #mobileMenuBtn {
  color: #e2e8f0 !important;
}
[data-theme="dark"] #mobileMenuBtn:hover {
  background: rgb(51 65 85) !important;
}

[data-theme="dark"] .theme-toggle-btn {
  background: rgb(30 41 59) !important;
  border-color: rgb(51 65 85) !important;
  color: #fbbf24 !important;
}
[data-theme="dark"] .theme-toggle-btn:hover {
  background: rgb(51 65 85) !important;
}

/* Subpages (styles.css) — body bg */
[data-theme="dark"] body {
  background: #0f172a !important;
}

[data-theme="dark"] .gradient-border {
  background: rgb(30 41 59) !important;
}

[data-theme="dark"] .gradient-text {
  background: linear-gradient(90deg, #93c5fd 0%, #60a5fa 55%, #38bdf8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

[data-theme="dark"] .feature-row {
  background: rgb(30 41 59) !important;
  border-color: rgb(51 65 85) !important;
}
[data-theme="dark"] .feature-row:hover {
  background: rgb(51 65 85) !important;
}

[data-theme="dark"] nav.bg-white {
  background-color: rgb(15 23 42) !important;
  border-color: rgb(51 65 85) !important;
}

[data-theme="dark"] .provider-card {
  background: rgb(30 41 59) !important;
  border-color: rgb(51 65 85) !important;
}
[data-theme="dark"] .provider-card.selected {
  background: rgb(51 65 85) !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25) !important;
}

[data-theme="dark"] .border-blue-100 {
  border-color: rgb(30 58 138) !important;
}
[data-theme="dark"] .bg-blue-50,
[data-theme="dark"] .bg-blue-50\/90 {
  background: rgba(30, 58, 138, 0.35) !important;
}

[data-theme="dark"] .bg-green-100 {
  background: rgba(22, 163, 74, 0.22) !important;
}
[data-theme="dark"] .bg-amber-100 {
  background: rgba(245, 158, 11, 0.22) !important;
}
[data-theme="dark"] .border-slate-300 {
  border-color: rgb(71 85 105) !important;
}
