.dwc-unified-footer {
  display: block;
  padding: 0;
  border: 0;
  text-align: left;
  --footer-ink: #ffffff;
  --footer-muted: rgba(255, 255, 255, .64);
  --footer-line: rgba(255, 255, 255, .14);
  background: #000;
  color: var(--footer-ink);
  font-family: 'Instrument Sans', system-ui, sans-serif;
}

.dwc-unified-footer *, .dwc-unified-footer *::before, .dwc-unified-footer *::after { box-sizing: border-box; }
.dwc-unified-footer a { color: inherit; text-decoration: none; }
.dwc-footer__inner { width: min(1280px, 100%); margin: 0 auto; padding: clamp(48px, 6vw, 80px) 24px 28px; }
.dwc-footer__grid { display: grid; grid-template-columns: 1.35fr repeat(3, 1fr) 1.15fr; gap: clamp(28px, 4vw, 52px); }
.dwc-footer__brand img { display: block; width: auto; height: 44px; max-width: 100%; object-fit: contain; }

/* Dunkelmodus-Schalter, Verhalten in subpage-footer.js. Bewusst ein
   einfacher Track+Thumb statt index.html's theme-toggle-liquid (Glaseffekt
   fuer eine helle Flaeche) - der Footer ist immer schwarz, das braucht keinen
   Blur-Effekt. */
.dwc-footer__theme-toggle { display: block; margin: 18px 0 0; padding: 0; border: 0; background: none; cursor: pointer; }
.dwc-footer__theme-track { position: relative; display: block; width: 40px; height: 22px; border-radius: 999px; background: rgba(255, 255, 255, .16); transition: background-color 180ms ease; }
.dwc-footer__theme-thumb { position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform 180ms ease; }
.dwc-footer__theme-toggle[aria-checked="true"] .dwc-footer__theme-track { background: #0757f7; }
.dwc-footer__theme-toggle[aria-checked="true"] .dwc-footer__theme-thumb { transform: translateX(18px); }

.dwc-footer__social { display: flex; gap: 10px; margin-top: 16px; }
.dwc-footer__social a { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: rgba(255, 255, 255, .08); color: var(--footer-muted); transition: background-color 160ms ease, color 160ms ease; }
.dwc-footer__social a:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.dwc-footer__social svg { width: 16px; height: 16px; }

.dwc-footer__label { margin: 0 0 16px; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.dwc-footer__links, .dwc-footer__tech { display: grid; gap: 10px; }
.dwc-footer__links a { color: var(--footer-muted); font-size: 14px; line-height: 1.35; transition: color 160ms ease; }
.dwc-footer__links a:hover { color: #fff; }
.dwc-footer__tech span { display: flex; align-items: center; gap: 9px; color: var(--footer-muted); font-size: 14px; }
.dwc-footer__partner-logo { display: block; width: 22px; height: 22px; flex: 0 0 22px; object-fit: contain; }
.dwc-footer__bottom { display: flex; justify-content: space-between; gap: 16px; margin-top: clamp(48px, 6vw, 72px); padding-top: 24px; border-top: 1px solid var(--footer-line); color: var(--footer-muted); font-size: 12px; }

@media (max-width: 1000px) { .dwc-footer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .dwc-footer__inner { padding-inline: 20px; } .dwc-footer__grid { grid-template-columns: 1fr; } .dwc-footer__bottom { align-items: flex-start; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .dwc-footer__theme-track, .dwc-footer__theme-thumb, .dwc-footer__social a { transition: none; } }
