body.theme-dark {
  --antrazith: #ffffff;
  --bg: #18120e;
  --surface: rgba(31, 24, 19, 0.92);
  --surface-strong: linear-gradient(180deg, rgba(28, 22, 18, 0.97), rgba(22, 17, 14, 0.98));
  --text: #f7f4ef;
  --line: rgba(186, 153, 119, 0.12);
  --accent: #f07f19;
  --accent-soft: rgba(240, 127, 25, 0.16);
  --hero-overlay: linear-gradient(90deg, rgba(21, 17, 13, 0.94) 0%, rgba(21, 17, 13, 0.78) 42%, rgba(21, 17, 13, 0.28) 100%);
  --hero-image:
    linear-gradient(120deg, rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.52)),
    radial-gradient(circle at 78% 18%, rgba(96, 122, 152, 0.34), transparent 24%),
    linear-gradient(140deg, #26201b 5%, #1a1512 24%, #23303c 66%, #54677c 100%);
  --services-bg:
    radial-gradient(circle at top center, rgba(240, 127, 25, 0.08), transparent 24%),
    linear-gradient(180deg, #1a1410 0%, #16110d 100%);
  --services-card: linear-gradient(180deg, rgba(40, 31, 25, 0.94), rgba(31, 24, 19, 0.96));
  --services-card-border: rgba(255, 255, 255, 0.08);
  --services-text: rgba(247, 244, 239, 0.72);
  --services-title: #f8f5ef;
  --services-link: #f07f19;
  --references-bg:
    radial-gradient(circle at top center, rgba(240, 127, 25, 0.08), transparent 22%),
    linear-gradient(180deg, #17120f 0%, #14100d 100%);
  --references-frame: rgba(42, 33, 27, 0.7);
  --references-border: rgba(255, 255, 255, 0.08);
  --references-title: #f8f5ef;
  --references-text: rgba(247, 244, 239, 0.74);
  --references-shadow: 0 30px 68px -46px rgba(0, 0, 0, 0.62);
  --references-link: #f07f19;
}

body.theme-dark .eyebrow {
  background: rgba(35, 28, 22, 0.78);
  border-color: rgba(186, 153, 119, 0.18);
}

body.theme-dark .btn-secondary {
  background:
    linear-gradient(180deg, rgba(48, 38, 30, 0.82), rgba(28, 23, 19, 0.74));
  border-color: rgba(186, 153, 119, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

body.theme-dark .hero-content::before {
  background:
    linear-gradient(180deg, rgba(41, 33, 26, 0.5), rgba(23, 19, 15, 0.18)),
    linear-gradient(90deg, rgba(186, 153, 119, 0.05) 0, rgba(186, 153, 119, 0.05) 1px, transparent 1px, transparent 88px);
  border-color: rgba(186, 153, 119, 0.14);
  box-shadow: 0 26px 56px -38px rgba(0, 0, 0, 0.55);
}

body.theme-dark .description {
  color: rgba(247, 244, 239, 0.82);
}

body.theme-dark .topbar {
  background: linear-gradient(90deg, #ea7c18 0%, #f07f19 52%, #ea7c18 100%);
}

body.theme-dark .navbar {
  background: var(--surface-strong);
  border-bottom-color: rgba(186, 153, 119, 0.1);
}

body.theme-dark .logo {
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

body.theme-dark .logo img {
  filter: saturate(0.96) contrast(1.02);
}

body.theme-dark .nav-links a {
  color: rgba(247, 244, 239, 0.9);
}

body.theme-dark .nav-links a:hover,
body.theme-dark .nav-links a.active {
  background: rgba(240, 127, 25, 0.14);
  color: #ffffff;
}

body.theme-dark .hero {
  background:
    linear-gradient(120deg, rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.46)),
    var(--hero-image);
}

body.theme-dark .bewertungen-hero {
  background:
    linear-gradient(120deg, rgba(21, 17, 13, 0.96), rgba(21, 17, 13, 0.76)),
    url("assets/bg.jpg") center / cover;
}

body.theme-dark .bewertungen-hero::after {
  background: linear-gradient(180deg, rgba(24, 18, 14, 0), var(--bg));
}

body.theme-dark .bewertungen-panel {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

body.theme-dark .bewertungen-option {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(31, 24, 19, 0.78);
}

body.theme-dark .bewertungen-option:hover {
  border-color: rgba(240, 127, 25, 0.36);
}

body.theme-dark .references-description {
  color: rgba(247, 244, 239, 0.72);
}

body.theme-dark .reference-card::after {
  background: linear-gradient(180deg, rgba(8, 8, 8, 0.04), rgba(8, 8, 8, 0.26));
}

body.theme-dark .references-link:hover {
  color: #ff9b45;
}

body.theme-dark .kundendienst-section {
  background:
    radial-gradient(circle at top center, rgba(240, 127, 25, 0.06), transparent 24%),
    linear-gradient(180deg, #16110d 0%, #14100c 100%);
}

body.theme-dark .kundendienst-item {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(35, 27, 22, 0.72);
  box-shadow: 0 24px 46px -34px rgba(0, 0, 0, 0.34);
}

body.theme-dark .kundendienst-item p {
  color: rgba(247, 244, 239, 0.92);
}

body.theme-dark .kundendienst-item-icon {
  background: rgba(240, 127, 25, 0.14);
}

body.theme-dark .betrieb-section {
  background:
    radial-gradient(circle at top center, rgba(240, 127, 25, 0.06), transparent 22%),
    linear-gradient(180deg, #15110d 0%, #14100c 100%);
}

body.theme-dark .betrieb-copy h2,
body.theme-dark .betrieb-panel-label,
body.theme-dark .betrieb-values-label,
body.theme-dark .betrieb-milestone span {
  color: rgba(247, 244, 239, 0.94);
}

body.theme-dark .betrieb-lead,
body.theme-dark .betrieb-copy p,
body.theme-dark .betrieb-values-list {
  color: rgba(247, 244, 239, 0.74);
}

body.theme-dark .betrieb-fact {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(35, 27, 22, 0.7);
  color: rgba(247, 244, 239, 0.92);
}

body.theme-dark .betrieb-panel-card,
body.theme-dark .betrieb-values-card {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(35, 27, 22, 0.68);
  box-shadow: 0 24px 46px -34px rgba(0, 0, 0, 0.34);
}

body.theme-dark .betrieb-milestone {
  border-top-color: rgba(255, 255, 255, 0.08);
}

body.theme-dark .ausstellung-section {
  background:
    radial-gradient(circle at top center, rgba(240, 127, 25, 0.06), transparent 22%),
    linear-gradient(180deg, #15110d 0%, #14100c 100%);
}

body.theme-dark .ausstellung-stage {
  background: rgba(35, 27, 22, 0.72);
  box-shadow: 0 26px 54px -38px rgba(0, 0, 0, 0.4);
}

body.theme-dark .ausstellung-nav {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(240, 127, 25, 0.94);
  box-shadow: 0 20px 40px -24px rgba(0, 0, 0, 0.56);
}

body.theme-dark .ausstellung-nav:hover {
  background: #ff8f2f;
}

body.theme-dark .ausstellung-thumb {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(35, 27, 22, 0.58);
  color: rgba(247, 244, 239, 0.92);
}

body.theme-dark .ausstellung-thumb:hover,
body.theme-dark .ausstellung-thumb.is-active {
  border-color: rgba(240, 127, 25, 0.24);
  background: rgba(41, 31, 25, 0.78);
}

body.theme-dark .ausstellung-mobile-card {
  background: rgba(35, 27, 22, 0.66);
  box-shadow: 0 24px 48px -36px rgba(0, 0, 0, 0.42);
}

body.theme-dark .kontakt-plain-section {
  background:
    radial-gradient(circle at top center, rgba(240, 127, 25, 0.06), transparent 22%),
    linear-gradient(180deg, #14100c 0%, #17120e 100%);
}

body.theme-dark .kontakt-plain-block {
  border-top-color: rgba(240, 127, 25, 0.88);
  background: rgba(35, 27, 22, 0.58);
}

body.theme-dark .kontakt-plain-header p,
body.theme-dark .kontakt-plain-row span {
  color: rgba(247, 244, 239, 0.7);
}

body.theme-dark .kontakt-plain-row {
  border-top-color: rgba(255, 255, 255, 0.08);
}

body.theme-dark .kontakt-plain-row a,
body.theme-dark .kontakt-plain-row strong {
  color: rgba(247, 244, 239, 0.94);
}

body.theme-dark .site-footer {
  background:
    radial-gradient(circle at top left, rgba(240, 127, 25, 0.08), transparent 24%),
    linear-gradient(180deg, #17120e 0%, #120d0a 100%);
  border-top-color: rgba(255, 255, 255, 0.06);
}

body.theme-dark .footer-claim {
  color: rgba(248, 245, 239, 0.96);
}

body.theme-dark .footer-claim-brand {
  color: rgba(126, 220, 234, 0.94);
}

body.theme-dark .footer-claim-sub {
  color: rgba(248, 245, 239, 0.92);
}

body.theme-dark .footer-claim-id {
  color: var(--accent);
}

body.theme-dark .footer-column h3 {
  color: rgba(248, 245, 239, 0.98);
}

body.theme-dark .footer-text,
body.theme-dark .footer-link,
body.theme-dark .footer-nav a,
body.theme-dark .footer-bottom p,
body.theme-dark .footer-bottom a {
  color: rgba(247, 244, 239, 0.72);
}

body.theme-dark .footer-link:hover,
body.theme-dark .footer-nav a:hover,
body.theme-dark .footer-bottom a:hover {
  color: #ffffff;
}

body.theme-dark .footer-bottom {
  border-top-color: rgba(255, 255, 255, 0.08);
}

body.theme-dark .kontakt-section {
  background:
    radial-gradient(circle at top center, rgba(240, 127, 25, 0.06), transparent 24%),
    linear-gradient(180deg, #14100c 0%, #18120e 100%);
}

body.theme-dark .kontakt-card {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(35, 27, 22, 0.72);
  box-shadow: 0 24px 46px -34px rgba(0, 0, 0, 0.36);
}

body.theme-dark .kontakt-card-body strong {
  color: rgba(247, 244, 239, 0.94);
}

body.theme-dark .kontakt-card-body span {
  color: rgba(247, 244, 239, 0.68);
}

body.theme-dark .kontakt-card-icon {
  background: rgba(240, 127, 25, 0.14);
}

body.theme-dark .oeffnungszeiten-panel {
  border-color: rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(135deg, rgba(240, 127, 25, 0.12), rgba(255, 255, 255, 0.02)),
    rgba(35, 27, 22, 0.78);
  box-shadow: 0 28px 58px -40px rgba(0, 0, 0, 0.38);
}

body.theme-dark .oeffnungszeiten-copy p,
body.theme-dark .oeffnungszeiten-row span {
  color: rgba(247, 244, 239, 0.7);
}

body.theme-dark .oeffnungszeiten-row {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(35, 27, 22, 0.58);
}

body.theme-dark .oeffnungszeiten-row strong {
  color: rgba(247, 244, 239, 0.94);
}

body.theme-dark .kontakt-cta {
  border-color: rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(135deg, rgba(240, 127, 25, 0.12), rgba(255, 255, 255, 0.02)),
    rgba(35, 27, 22, 0.78);
  box-shadow: 0 30px 60px -40px rgba(0, 0, 0, 0.42);
}

body.theme-dark .kontakt-cta-copy p {
  color: rgba(247, 244, 239, 0.72);
}

body.theme-dark .kontakt-cta-phone {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(35, 27, 22, 0.58);
  color: rgba(247, 244, 239, 0.92);
}

body.theme-dark .before-after-copy p {
  color: rgba(247, 244, 239, 0.74);
}

body.theme-dark .services-section {
  background:
    radial-gradient(circle at top center, rgba(240, 127, 25, 0.07), transparent 24%),
    linear-gradient(180deg, #1a1410 0%, #17120e 100%);
}

body.theme-dark .references-section {
  background:
    radial-gradient(circle at top center, rgba(240, 127, 25, 0.06), transparent 22%),
    linear-gradient(180deg, #17120e 0%, #14100d 100%);
}

body.theme-dark .before-after-section {
  background:
    radial-gradient(circle at 50% 0%, rgba(240, 127, 25, 0.06), transparent 26%),
    linear-gradient(180deg, #15110d 0%, #18120e 100%);
}

body.theme-dark .before-after-frame {
  background: rgba(31, 24, 19, 0.84);
  box-shadow: 0 30px 64px -42px rgba(0, 0, 0, 0.62);
}

body.theme-dark .before-after-label {
  background: rgba(18, 15, 13, 0.66);
}

body.theme-dark .before-after-divider {
  border-left-color: rgba(255, 255, 255, 0.82);
}

body.theme-dark .before-after-handle {
  box-shadow: 0 20px 44px -24px rgba(0, 0, 0, 0.68);
}

body.theme-dark .before-after-slider::-webkit-slider-runnable-track {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.16), rgba(240, 127, 25, 0.82), rgba(255, 255, 255, 0.16));
}

body.theme-dark .before-after-slider::-moz-range-track {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.16), rgba(240, 127, 25, 0.82), rgba(255, 255, 255, 0.16));
}

body.theme-dark .navbar,
body.theme-dark .topbar {
  box-shadow: inset 0 -1px 0 rgba(186, 153, 119, 0.08);
}

body.theme-dark .menu-toggle {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(31, 37, 39, 0.92);
  box-shadow: 0 16px 30px -24px rgba(0, 0, 0, 0.45);
}

body.theme-dark .menu-toggle span {
  background: #ffffff;
}

body.theme-dark.menu-open .menu-toggle {
  background: rgba(240, 127, 25, 0.14);
  border-color: rgba(240, 127, 25, 0.26);
  box-shadow: 0 18px 32px -24px rgba(240, 127, 25, 0.28);
}

body.theme-dark .page-transition-brand {
  background: rgba(32, 38, 40, 0.9);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 22px 44px -28px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.theme-dark.page-transition-phase-2 .page-transition-brand {
  background: rgba(38, 44, 47, 0.94);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow:
    0 28px 56px -36px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

@media (max-width: 960px) {
  body.theme-dark .nav-links {
    border-color: rgba(255, 255, 255, 0.08);
    background:
      linear-gradient(180deg, rgba(31, 37, 39, 0.96), rgba(22, 18, 13, 0.96));
    box-shadow:
      0 30px 60px -36px rgba(0, 0, 0, 0.5),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
  }

  body.theme-dark .nav-links a {
    color: #ffffff;
  }

  body.theme-dark .nav-links a:hover,
  body.theme-dark .nav-links a.active {
    background: rgba(240, 127, 25, 0.14);
    border-color: rgba(240, 127, 25, 0.2);
    color: #ffffff;
  }
}

@media (max-width: 720px) {
  body.theme-dark .hero-bg-image {
    filter: saturate(0.82) brightness(0.5) contrast(1.05);
  }

  body.theme-dark .hero-overlay {
    background:
      linear-gradient(180deg, rgba(8, 10, 12, 0.4) 0%, rgba(8, 10, 12, 0.66) 100%),
      linear-gradient(90deg, rgba(22, 18, 13, 0.96) 0%, rgba(22, 18, 13, 0.88) 72%, rgba(22, 18, 13, 0.42) 100%);
  }

  body.theme-dark .hero h1 {
    text-shadow: 0 10px 24px rgba(0, 0, 0, 0.38);
  }

  body.theme-dark .description {
    color: rgba(247, 244, 239, 0.9);
    text-shadow: 0 8px 20px rgba(0, 0, 0, 0.34);
  }
}
