/* WN_Theme_Footer – third theme button (follow the system) and the footer panel. */
.wn-theme-system::before {
  content: "";
  width: 16px; height: 16px;
  background: var(--wn-ink-soft);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='2'/%3E%3Cpath d='M8 20h8M12 16v4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='2'/%3E%3Cpath d='M8 20h8M12 16v4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wn-theme-system[aria-pressed="true"]::before { background: var(--wn-green); }
@media (max-width: 720px) { .wn-theme-system::before { width: 14px; height: 14px; } }

/* Short pages (Impressum, AGB, ...): the block holding header, content and footer fills at least
   the screen height and the footer sits at its bottom edge. */
.landingpage :has(> .wn-site-footer) {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100svh;
}
.landingpage :has(> .wn-site-footer) > .wn-site-footer { margin-top: auto; }

/* Footer: an inset panel with rounded corners on the page background – one flat tone, a hairline
   border and a thin light line on top, so the edge to the content above is sharp.
   Light: Weltennetz green; dark: deep petrol. */
.wn-site-footer {
  position: relative;
  flex: 0 0 auto;
  margin: 8px 14px 14px;
  padding: 44px 0 34px;
  overflow: hidden;
  background: #00664f;
  border: 1px solid rgba(0, 61, 47, .25);
  border-radius: 22px;
  box-shadow: 0 24px 60px rgba(0, 61, 47, .18);
}
.landingpage :has(> .wn-site-footer) > .wn-site-footer { margin-top: auto; padding-top: 44px; }
.landingpage :has(> .wn-site-footer) > :not(.wn-site-footer):nth-last-child(2) { margin-bottom: 8px; }
.wn-site-footer::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  width: min(420px, 60%); height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(184, 255, 230, .85), transparent);
}
.wn-site-footer-grid > .wn-site-footer-brand { border-bottom-color: rgba(244, 255, 251, .16); }
.wn-site-footer h2 { color: rgba(244, 255, 251, .62); font-weight: 650; }
.wn-site-footer a { transition: color .15s ease; }
.wn-site-footer a:hover { color: #b8ffe6; }

html[data-aorta-theme="dark"] .wn-site-footer {
  background: #001915;
  border-color: rgba(120, 229, 192, .1);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
}
html[data-aorta-theme="dark"] .wn-site-footer::before { background: linear-gradient(90deg, transparent, rgba(81, 231, 181, .7), transparent); }
html[data-aorta-theme="dark"] .wn-site-footer-grid > .wn-site-footer-brand { border-bottom-color: rgba(120, 229, 192, .1); }
html[data-aorta-theme="dark"] .wn-site-footer .wn-site-footer-brand .wn-brand-name::before { background: #51e7b5; }
html[data-aorta-theme="dark"] .wn-site-footer h2 { color: rgba(244, 255, 251, .5); }
html[data-aorta-theme="dark"] .wn-site-footer a:hover { color: #51e7b5; }

@media (max-width: 720px) {
  .wn-site-footer { margin: 6px 8px 8px; border-radius: 18px; padding: 34px 0 26px; }
  .landingpage :has(> .wn-site-footer) > .wn-site-footer { padding-top: 34px; }
}
