:root,
html[data-theme="light"] {
  --black: #f5f7f9;
  --blue: #08748c;
  --green: #17734b;
  --theme-bg: #f5f7f9;
  --theme-surface: #ffffff;
  --theme-surface-soft: #edf2f5;
  --theme-text: #18222c;
  --theme-text-muted: #526273;
  --theme-text-subtle: #6d7b88;
  --theme-border: #d3dce4;
  --theme-header: rgba(255, 255, 255, 0.92);
  color-scheme: light;
}

html[data-theme="dark"] {
  --black: #161616;
  --blue: #1fa8c7;
  --green: #1e975d;
  --theme-bg: #161616;
  --theme-surface: #141b24;
  --theme-surface-soft: #111719;
  --theme-text: #ffffff;
  --theme-text-muted: #b9d8f7;
  --theme-text-subtle: #94a9c3;
  --theme-border: rgba(185, 216, 247, 0.15);
  --theme-header: rgba(22, 22, 22, 0.78);
  color-scheme: dark;
}

body,
.content,
header {
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.theme-switch {
  display: inline-flex;
  width: 2.875rem;
  height: 1.75rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  appearance: none;
}

.theme-switch-track {
  position: relative;
  display: block;
  width: 2.75rem;
  height: 1.625rem;
  border: 0.0625rem solid #c7d1da;
  border-radius: 999px;
  background: #dde5eb;
  transition: background-color 180ms ease, border-color 180ms ease;
}

.theme-switch-thumb {
  position: absolute;
  left: 0.1875rem;
  top: 0.1875rem;
  display: inline-flex;
  width: 1.125rem;
  height: 1.125rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #ffffff;
  color: #986000;
  box-shadow: 0 0.125rem 0.375rem rgba(18, 34, 48, 0.2);
  transition: transform 180ms ease, background-color 180ms ease, color 180ms ease;
}

.theme-switch:hover .theme-switch-track,
.theme-switch:focus-visible .theme-switch-track {
  border-color: var(--blue);
}

html[data-theme="dark"] .theme-switch-track {
  border-color: #52606d;
  background: #28323c;
}

html[data-theme="dark"] .theme-switch-thumb {
  transform: translateX(1.125rem);
  background: #111719;
  color: #b9d8f7;
}

.mobile-theme-row {
  display: flex;
  width: min(28rem, 100%);
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.125rem 0;
  color: #161616;
  font-family: LexendExa, sans-serif;
  font-size: 0.78rem;
}

html[data-theme="light"] body,
html[data-theme="light"] .content {
  background: var(--theme-bg);
  color: var(--theme-text);
}

html[data-theme="light"] .content a {
  color: inherit;
}

html[data-theme="light"] .content [class~="text-white"] {
  color: var(--theme-text) !important;
}

html[data-theme="light"] .content [class*="text-white/"] {
  color: var(--theme-text-muted) !important;
}

html[data-theme="light"] .content [class~="text-[#d7e8ff]"],
html[data-theme="light"] .content [class~="text-[#b9d8f7]"],
html[data-theme="light"] .content [class~="text-[#a6c1dc]"],
html[data-theme="light"] .content [class~="text-[#9ebbd8]"],
html[data-theme="light"] .content [class~="text-[#94a9c3]"],
html[data-theme="light"] .content [class~="text-[#8faac4]"],
html[data-theme="light"] .content [class~="text-[#7f98b2]"],
html[data-theme="light"] .content [class~="text-[#71869b]"],
html[data-theme="light"] .content [class~="text-[#667d94]"],
html[data-theme="light"] .content [class~="text-[#60758a]"],
html[data-theme="light"] .content [class~="text-[#53677b]"],
html[data-theme="light"] .content [class~="text-[#a0a0a0]"],
html[data-theme="light"] .content [class~="text-[#bfbfbf]"],
html[data-theme="light"] .content [class~="text-[#e3e3e3]"] {
  color: var(--theme-text-muted) !important;
}

html[data-theme="light"] .content [class*="text-[rgba(255,255,255"],
html[data-theme="light"] .content [class*="text-[rgba(217,246,255"] {
  color: var(--theme-text-muted) !important;
}

html[data-theme="light"] .content [class~="text-[#1fa8c7]"],
html[data-theme="light"] .content [class~="text-[#38bdd8]"] {
  color: var(--blue) !important;
}

html[data-theme="light"] .content [class~="text-[#1e975d]"],
html[data-theme="light"] .content [class~="text-[#32b777]"] {
  color: var(--green) !important;
}

html[data-theme="light"] .content [class~="text-[#bdf4d9]"],
html[data-theme="light"] .content [class~="text-[#7ed6ad]"],
html[data-theme="light"] .content [class~="text-[#7dd9aa]"],
html[data-theme="light"] .content [class~="text-[#86efac]"] {
  color: #17633f !important;
}

html[data-theme="light"] .content [class~="text-[#d9f6ff]"],
html[data-theme="light"] .content [class~="text-[#ecfeff]"] {
  color: #145f73 !important;
}

html[data-theme="light"] .content [class~="text-[#fecaca]"],
html[data-theme="light"] .content [class~="text-[#fca5a5]"],
html[data-theme="light"] .content [class~="text-[#f87171]"] {
  color: #9c2637 !important;
}

html[data-theme="light"] .content [class~="text-[#fff1bd]"],
html[data-theme="light"] .content [class~="text-[#ffe8a7]"],
html[data-theme="light"] .content [class~="text-[#f6d879]"] {
  color: #765500 !important;
}

html[data-theme="light"] .content [class~="bg-[#161616]"] {
  background-color: var(--theme-bg) !important;
}

html[data-theme="light"] .content [class~="bg-[#0f1319]"],
html[data-theme="light"] .content [class~="bg-[#111719]"],
html[data-theme="light"] .content [class~="bg-[#111820]"],
html[data-theme="light"] .content [class~="bg-[#111b28]"],
html[data-theme="light"] .content [class~="bg-[#141b24]"],
html[data-theme="light"] .content [class~="bg-[#171717]"],
html[data-theme="light"] .content [class~="bg-[#191919]"] {
  background-color: var(--theme-surface) !important;
}

html[data-theme="light"] .content [class~="bg-[#2a2a2a]"],
html[data-theme="light"] .content [class~="bg-[#2f2f2f]"],
html[data-theme="light"] .content [class~="bg-[#313131]"],
html[data-theme="light"] .content [class~="bg-[#333333]"] {
  background-color: var(--theme-surface-soft) !important;
}

html[data-theme="light"] .content [class*="bg-[rgba(30,30,30"],
html[data-theme="light"] .content [class*="bg-[rgba(24,26,29"],
html[data-theme="light"] .content [class*="bg-[rgba(23,32,42"],
html[data-theme="light"] .content [class*="bg-[rgba(22,22,22"],
html[data-theme="light"] .content [class*="bg-[rgba(20,27,36"],
html[data-theme="light"] .content [class*="bg-[rgba(18,24,35"],
html[data-theme="light"] .content [class*="bg-[rgba(16,18,20"],
html[data-theme="light"] .content [class*="bg-[rgba(15,26,46"],
html[data-theme="light"] .content [class*="bg-[rgba(14,17,19"],
html[data-theme="light"] .content [class*="bg-[rgba(12,20,36"],
html[data-theme="light"] .content [class*="bg-[rgba(11,23,29"],
html[data-theme="light"] .content [class*="bg-[rgba(10,17,31"],
html[data-theme="light"] .content [class*="bg-[rgba(9,15,28"],
html[data-theme="light"] .content [class*="bg-[rgba(8,16,22"],
html[data-theme="light"] .content [class*="bg-[rgba(8,10,12"] {
  background: var(--theme-surface) !important;
}

html[data-theme="light"] .content [class*="bg-[rgba(20,34,42"],
html[data-theme="light"] .content [class*="bg-[rgba(31,168,199"],
html[data-theme="light"] .content [class*="bg-[rgba(56,189,216"] {
  background-color: #e7f3f6 !important;
}

html[data-theme="light"] .content [class*="bg-[rgba(16,36,24"],
html[data-theme="light"] .content [class*="bg-[rgba(8,18,12"],
html[data-theme="light"] .content [class*="bg-[rgba(30,151,93"],
html[data-theme="light"] .content [class*="bg-[rgba(50,183,119"] {
  background-color: #eaf5ef !important;
}

html[data-theme="light"] .content [class*="bg-[rgba(255,255,255"] {
  background-color: var(--theme-surface-soft) !important;
}

html[data-theme="light"] .content [class*="bg-[linear-gradient("] {
  background: var(--theme-surface) !important;
}

html[data-theme="light"] .content [class*="border-[rgba(185,216,247"],
html[data-theme="light"] .content [class*="border-white/"],
html[data-theme="light"] .content [class~="border-[#313131]"],
html[data-theme="light"] .content [class~="border-[#4a4a4a]"],
html[data-theme="light"] .content [class~="border-[#5a5a5a]"],
html[data-theme="light"] .content [class~="border-[#6f6f6f]"],
html[data-theme="light"] .content [class~="border-[#7a7a7a]"],
html[data-theme="light"] .content [class~="border-[#a0a0a0]"] {
  border-color: var(--theme-border) !important;
}

html[data-theme="light"] .content [class*="shadow-[0_"][class*="rgba(0,0,0"] {
  box-shadow: 0 1rem 2.5rem rgba(18, 35, 52, 0.1) !important;
}

html[data-theme="light"] header {
  border-bottom: 0.0625rem solid rgba(24, 34, 44, 0.08);
  background: var(--theme-header);
  box-shadow: 0 0.5rem 1.5rem rgba(18, 35, 52, 0.05);
}

html[data-theme="light"] header nav a,
html[data-theme="light"] .services-menu-trigger,
html[data-theme="light"] .lang-dropdown-trigger,
html[data-theme="light"] .lang-dropdown-item {
  color: var(--theme-text);
}

html[data-theme="light"] .header-logo,
html[data-theme="light"] .mobile-logo-white,
html[data-theme="light"] footer img[src*="logo-white"] {
  filter: invert(1);
}

html[data-theme="light"] .services-menu-trigger-icon,
html[data-theme="light"] .lang-dropdown-caret {
  color: var(--theme-text-muted);
}

html[data-theme="light"] .services-mega-menu,
html[data-theme="light"] .lang-dropdown-menu {
  border-color: var(--theme-border) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 1.25rem 3.5rem rgba(18, 35, 52, 0.14) !important;
}

html[data-theme="light"] .services-mega-menu::before {
  background: linear-gradient(135deg, rgba(23, 115, 75, 0.07), rgba(8, 127, 153, 0.06) 48%, transparent);
}

html[data-theme="light"] .services-mega-title,
html[data-theme="light"] .services-mega-footer,
html[data-theme="light"] .services-mega-cta {
  color: var(--theme-text) !important;
}

html[data-theme="light"] .services-mega-description,
html[data-theme="light"] .services-mega-overview,
html[data-theme="light"] .lang-dropdown-item-code {
  color: var(--theme-text-muted) !important;
}

html[data-theme="light"] .lang-dropdown-trigger {
  border: 0.0625rem solid var(--theme-border);
  background: rgba(255, 255, 255, 0.88);
}

html[data-theme="light"] .lang-dropdown-trigger:hover,
html[data-theme="light"] .lang-dropdown-trigger.open {
  background: #ffffff;
}

html[data-theme="light"] .button-main div {
  background: var(--theme-surface);
  color: var(--theme-text);
}

html[data-theme="light"] .menu-trigger-bar {
  background-color: var(--theme-text);
}

html[data-theme="light"] .home-hero-backdrop {
  background: linear-gradient(112deg, rgba(23, 115, 75, 0.08), transparent 32%), linear-gradient(292deg, rgba(8, 127, 153, 0.1), transparent 44%) !important;
}

html[data-theme="light"] .home-journey-grid {
  background-image: linear-gradient(rgba(48, 70, 88, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(48, 70, 88, 0.08) 1px, transparent 1px) !important;
}

html[data-theme="light"] .home-journey-step {
  border-color: #c9d5de !important;
  background: #ffffff !important;
  color: #087f99 !important;
  box-shadow: 0 0.375rem 1rem rgba(18, 35, 52, 0.07);
}

html[data-theme="light"] .home-journey-result {
  border-color: #b9d4dc !important;
  background: #ffffff !important;
  box-shadow: 0 1rem 2.5rem rgba(18, 35, 52, 0.09) !important;
}

html[data-theme="light"] footer form {
  border: 0.0625rem solid var(--theme-border);
  background: var(--theme-surface);
  box-shadow: 0 1rem 2.5rem rgba(18, 35, 52, 0.08);
}

html[data-theme="light"] footer label,
html[data-theme="light"] footer legend.fieldset,
html[data-theme="light"] footer .radio-answers .answer label {
  color: var(--theme-text-muted);
}

html[data-theme="light"] footer input[type="text"],
html[data-theme="light"] footer input[type="email"],
html[data-theme="light"] footer input[type="password"],
html[data-theme="light"] footer textarea {
  border-color: var(--theme-border);
  background: #ffffff;
  color: var(--theme-text);
}

html[data-theme="light"] footer input[type="radio"],
html[data-theme="light"] footer input[type="checkbox"] {
  background: #dce4ea;
}

html[data-theme="light"] footer .client-info input:-webkit-autofill,
html[data-theme="light"] footer .client-info input:-webkit-autofill:hover,
html[data-theme="light"] footer .client-info input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 300px #ffffff inset !important;
  -webkit-text-fill-color: var(--theme-text) !important;
}

html[data-theme="light"] footer .radio-answers .answer label:hover,
html[data-theme="light"] footer .radio-answers .answer input[type="radio"]:checked + label {
  color: var(--theme-text);
}

html[data-theme="light"] footer hr {
  border-color: var(--theme-border);
  background: var(--theme-border);
  color: var(--theme-border);
}

html[data-theme="light"] #konfigurator,
html[data-theme="light"] #konfigurator > div {
  background: var(--theme-bg) !important;
}

html[data-theme="light"] #konfigurator form {
  border: 0;
  background: transparent;
  box-shadow: none;
}

html[data-theme="light"] #konfigurator input,
html[data-theme="light"] #konfigurator textarea,
html[data-theme="light"] #konfigurator select {
  color: var(--theme-text) !important;
}

html[data-theme="light"] #konfigurator input::placeholder,
html[data-theme="light"] #konfigurator textarea::placeholder {
  color: #7a8792 !important;
}

html[data-theme="light"] #konfigurator [class*="border-[#313131"],
html[data-theme="light"] #konfigurator [class*="border-[#5a5a5a"],
html[data-theme="light"] #konfigurator [class*="border-[#a0a0a0"] {
  border-color: var(--theme-border) !important;
}

html[data-theme="light"] [data-use-case-list] article:not([data-use-case-active]) {
  opacity: 0.72 !important;
}

html[data-theme="light"] [data-workflow-state="complete"] {
  opacity: 0.78 !important;
}

html[data-theme="light"] [data-workflow-state="upcoming"] {
  opacity: 0.62 !important;
}

html[data-theme="dark"] .mobile-theme-row {
  color: #ffffff;
}

html[data-theme="dark"] .menu-bg {
  background-color: #161616;
}

html[data-theme="dark"] .menu .nav-link,
html[data-theme="dark"] .mobile-services-toggle,
html[data-theme="dark"] .mobile-service-title {
  color: #ffffff;
}

html[data-theme="dark"] .mobile-service-description {
  color: rgba(255, 255, 255, 0.66);
}

html[data-theme="dark"] .menu .button-main div {
  background: #161616;
  color: #ffffff;
}

html[data-theme="dark"] .menu .lang-dropdown-trigger,
html[data-theme="dark"] .menu .lang-dropdown-menu {
  border-color: rgba(255, 255, 255, 0.16);
  background: #22282e;
  color: #ffffff;
}

html[data-theme="dark"] .menu .lang-dropdown-caret,
html[data-theme="dark"] .menu .lang-dropdown-item,
html[data-theme="dark"] .menu .lang-dropdown-item-code {
  color: rgba(255, 255, 255, 0.86);
}

html[data-theme="dark"] .menu .mobile-service-item.nav-link {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] .header-logo-black {
  filter: invert(1);
}

html[data-theme="dark"] .close-trigger-bar {
  background-color: #ffffff;
}

@media (max-width: 1023px) {
  html[data-theme="light"] header {
    border-bottom: 0;
    background: transparent;
    box-shadow: none;
  }

  html[data-theme="light"] .mobile-header-bg {
    border-bottom: 0.0625rem solid rgba(24, 34, 44, 0.08);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 0.5rem 1.5rem rgba(18, 35, 52, 0.05);
  }

  .mobile-theme-row {
    pointer-events: auto;
  }

  .theme-switch.mobile {
    width: 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body,
  .content,
  header,
  .theme-switch-track,
  .theme-switch-thumb {
    transition: none;
  }
}
