/* Footer — bar background, not brand fill. */
.dgs-design-footer {
  background: var(--dgs-design-bar);
  color: var(--dgs-design-text);
  margin-top: 0;
}
.dgs-design-footer a {
  color: var(--dgs-design-text);
  text-decoration: none;
}
.dgs-design-footer a:hover {
  color: var(--dgs-design-focus);
  text-decoration: underline;
}
.dgs-design-footer a:focus-visible,
.dgs-design-footer button:focus-visible {
  outline: 2px solid var(--dgs-design-focus);
  outline-offset: 2px;
}
.dgs-design-footer__body {
  background: var(--dgs-design-bar);
}

.dgs-design-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 36px 0 8px;
}
.dgs-design-footer__logo {
  font-family: var(--dgs-design-font-display);
  font-size: 24px;
  font-weight: 700;
  color: var(--dgs-design-text);
  text-decoration: none;
}
.dgs-design-footer__logo:hover {
  color: var(--dgs-design-text);
  text-decoration: none;
}
.dgs-design-footer__logo:has(.dgs-design-footer__logo-img),
.dgs-design-footer__logo:has(img) {
  display: inline-flex;
  align-items: center;
}
.dgs-design-footer__logo-img,
.dgs-design-footer__logo img {
  display: block;
  width: auto;
  max-width: 180px;
  height: auto;
  object-fit: contain;
}
.dgs-design-footer__tagline {
  margin: 0;
  max-width: 36em;
  font-size: 15px;
  color: var(--dgs-design-muted);
}

.dgs-design-footer__main {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 32px;
  padding: 28px 0 12px;
}
.dgs-design-footer__col {
  min-width: 0;
}
body.dgs-design-body .dgs-design-footer h3,
body.dgs-design-body .dgs-design-footer__col > h3 {
  margin: 0 0 14px;
  font-family: var(--dgs-design-font-body);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  color: var(--dgs-design-text);
}
.dgs-design-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.dgs-design-footer li {
  margin-bottom: 8px;
}
.dgs-design-footer li a,
.dgs-design-footer li button.dgs-design-footer__text-btn,
.dgs-design-footer__text-btn {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--dgs-design-text);
}
.dgs-design-footer__text-btn {
  display: inline;
  padding: 0;
  margin: 0;
  border: 0;
  background: none;
  cursor: pointer;
  font: inherit;
  text-align: left;
}
.dgs-design-footer__text-btn:hover {
  color: var(--dgs-design-focus);
  text-decoration: underline;
}

.dgs-design-footer__widerruf {
  margin-top: 14px;
}
.dgs-design-footer a.dgs-design-footer__widerruf-btn,
.dgs-footer-widerruf a,
.dgs-footer-widerruf button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: var(--dgs-design-radius-sm);
  border: 1px solid var(--dgs-design-muted);
  background: transparent;
  color: var(--dgs-design-text);
  font-weight: 700;
  text-decoration: none;
}
.dgs-design-footer a.dgs-design-footer__widerruf-btn:hover,
.dgs-footer-widerruf a:hover,
.dgs-footer-widerruf button:hover {
  color: var(--dgs-design-text);
  background: var(--dgs-design-card);
  text-decoration: none;
}

.dgs-dl-footer {
  padding: 8px 0 16px;
}
.dgs-dl-footer__label {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--dgs-design-text);
}

.dgs-design-footer__icons {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 32px;
  padding: 8px 0 20px;
}
body.dgs-design-body .dgs-design-footer__compact-title,
body.dgs-design-body .dgs-design-footer__icon-group h4 {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 700;
  color: var(--dgs-design-text);
}
.dgs-design-footer__badges,
.dgs-design-footer__icon-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.dgs-design-footer__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 4px 10px;
  border-radius: var(--dgs-design-radius-sm);
  background: var(--dgs-design-card);
  border: 1px solid var(--dgs-design-line);
  color: var(--dgs-design-text);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}
.dgs-design-footer__badge img,
.dgs-design-footer__badge svg {
  display: block;
  height: 22px;
  width: auto;
  max-width: 72px;
  object-fit: contain;
}
.dgs-design-footer a.dgs-design-footer__badge,
.dgs-design-footer a.dgs-design-footer__badge--link {
  color: var(--dgs-design-text);
  text-decoration: none;
}
.dgs-design-footer__badge--icon,
.dgs-design-footer__badge--plate {
  background: var(--dgs-design-card);
  border: 1px solid var(--dgs-design-line);
  color: var(--dgs-design-text);
}

.dgs-design-footer__bottom {
  border-top: 1px solid var(--dgs-design-line);
  padding: 16px 0 28px;
}
.dgs-design-footer__copy {
  margin: 0;
  font-size: 13px;
  color: var(--dgs-design-muted);
}

@media (max-width: 1024px) {
  .dgs-design-footer__main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .dgs-design-footer__main {
    grid-template-columns: 1fr;
    gap: 22px;
  }
}
