/* =========================
   LEGAL PAGES (Impressum / Datenschutz)
   Mirror the main site: neo header bar, full-width neo section, footer pinned to the bottom.
   The <header> and <section> tags inherit their look from critical.css; this file lays out
   their contents and styles the footer (footer.css isn't loaded on these pages).
========================= */

body.legal {
  display: flex;
  flex-direction: column;
  min-height: 100svh;
  animation: none; /* halftone stays, just not animated, so long-form text stays calm */
}

/* Header contents (the bar itself comes from critical.css `header`). */
.legal .site-logo a {
  display: inline-flex;
  align-items: center;
}
/* Clean text link (matches the case-study header), not a heavy floating button. */
.legal-back {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--black);
}
.legal-back:hover,
.legal-back:focus-visible {
  color: var(--red);
}

/* Grows to fill the viewport so the footer sits at the bottom on short pages. */
.legal-main {
  flex: 1 0 auto;
}

/* `.legal-section` is a <section>, so it already has the neo box + responsive margins from
   critical.css. Keep the running text at a readable measure inside that full-width box. */
.legal-section {
  padding-top: clamp(1.5rem, 4vw, 2.5rem);
  padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
}
.legal-section > * {
  max-width: 72ch;
}

.legal-title {
  font-family: "Saint Regus", sans-serif;
  font-weight: 700;
  font-size: clamp(2rem, 5vw, 3rem);
  color: var(--blue);
  text-transform: uppercase;
  text-shadow: none;
  line-height: 1.1;
  margin-bottom: 1.2rem;
}
.legal-section h2 {
  font-size: clamp(1.35rem, 3vw, 1.9rem);
  margin: 1.8rem 0 0.6rem;
}
.legal-section h3 {
  margin: 1.4rem 0 0.4rem;
}
.legal-section h4 {
  font-weight: 700;
  margin: 1rem 0 0.3rem;
}

/* Links sit inside the black <p> boxes, so they need a light colour. */
.legal-section p a {
  color: var(--off-white);
  text-decoration: underline;
}
.legal-section p a:hover,
.legal-section p a:focus-visible {
  color: var(--yellow);
}

/* Footer mirrors the main site footer: rounded-top neo bar, same responsive margins,
   pinned to the bottom by the flex column above. */
.legal-foot {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 2rem;
  background: var(--off-white);
  border: 5px solid var(--black);
  border-radius: 25px 25px 0 0;
  box-shadow: 5px 5px var(--black);
  margin: 0 4%;
  padding: 1.75rem 4%;
}
.legal-foot a {
  font-weight: 700;
  color: var(--black);
  text-decoration: underline;
}
.legal-foot a:hover,
.legal-foot a:focus-visible {
  color: var(--red);
}
.legal-foot p {
  background: transparent;
  color: var(--black);
  width: auto;
  padding: 0;
  margin: 0 0 0 auto; /* push the copyright to the right edge */
}

/* Match the main site's responsive side margins on the footer. */
@media (min-width: 768px)  { .legal-foot { margin: 0 6%; } }
@media (min-width: 1024px) { .legal-foot { margin: 0 8%; } }
@media (min-width: 1440px) { .legal-foot { margin: 0 10%; } }
@media (min-width: 2560px) { .legal-foot { margin: 0 12%; } }
