/* The site footer, and nothing else.

   This file was sections.css and held every page-section component: hero,
   cards, photo band, CTA, plate. Each page now owns its own stylesheet under
   css/pages/ and the shared opener lives in sections-hero.css, so all that is
   left here is the footer -- renamed rather than kept under a name that
   describes what it used to be. */

@media (min-width: 56rem) {
  .wr-leistungen__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 18rem);
  }}

/* The hub lists four services, not the homepage's three, and four in a
   three-column track orphans the last card on a row of its own. Two-up here,
   four-up once there is room. */
@media (min-width: 48rem) {}

/* ---------- Closing call to action ----------
   The one place a photograph carries text on the homepage besides the hero.
   Fixed dark in both schemes {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: clamp(var(--space-7), 5vw, var(--space-9)) var(--container-pad) var(--space-8);
  border-radius: var(--radius-2xl);
  background: var(--color-invert-bg);
  box-shadow: var(--shadow-lg);
}

/* ---------- Footer ---------- */

.wr-footer {
  border-top: 1px solid var(--color-border);
  background: var(--color-surface-sunk);
  padding-block: var(--space-7) var(--space-6);
}

.wr-footer__grid {
  display: grid;
  gap: var(--space-6);
}

@media (min-width: 48rem) {
  .wr-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }}

.wr-footer__heading {
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-wide);
  color: var(--color-ink-faint);
  margin-bottom: var(--space-3);
}

/* The markup is a flat dl of alternating dt/dd, so the pairs are laid out by
   the grid rather than by a wrapper element per row. */
.wr-footer__contact {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-2) var(--space-4);
  align-items: baseline;
  font-size: var(--text-sm);
}

.wr-footer__contact dt {
  color: var(--color-ink-faint);
}

.wr-footer__contact dd {
  margin: 0;
}

.wr-footer__contact a,
.wr-footer__legal a {
  display: inline-block;
  padding-block: var(--space-1);
  color: var(--color-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--color-border-strong);
  transition: border-color var(--motion-fast) var(--ease);
}

.wr-footer__contact a:hover,
.wr-footer__legal a:hover {
  border-color: var(--color-accent);
}

.wr-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  font-size: var(--text-sm);
}

.wr-footer__note {
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
  font-size: var(--text-xs);
  color: var(--color-ink-faint);
}