/* ============================================================
   NCO FOOTER — Minimal, Warm, Premium
============================================================ */

.nco-footer {
  background: #b4b0a93b; /* leichte Hintergrundfarbe als Placeholder */
  width: calc(100% - 30px);
  margin-inline: auto;
  border-radius: 20px;
  padding-top: 15px !important;
  padding-bottom: var(--s-24);
  margin-top: 15px;
  margin-bottom: 15px;
  border: none;
}

/* GRID: 4 Spalten mit klarer Gewichtung */
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 2.4fr; /* breiter, damit Rechtsblock mehr Platz hat */
  align-items: start;
  gap: var(--s-48); /* mehr horizontale Luft */
  margin-bottom: var(--s-24);
  margin-top: 15px;
  max-width: 1600px;     /* Gesamtbreite erhöhen */
  width: calc(100% - 60px); /* links/rechts angenehmer Abstand */
  margin-inline: auto;
}

/* Titles */
.footer-title {
  color: var(--ink-h);
  font-size: .88rem;
  margin-bottom: var(--s-16);
  font-weight: 400;
}

/* Text */
.footer-text {
  color: var(--ink-meta);
  margin-bottom: var(--s-12);
  line-height: 1.45;
  font-size: .78rem;
}

.footer-links a {
  font-family: var(--font-body);
  color: var(--ink-meta);
  font-size: .78rem;
  line-height: 1.45;
  font-weight: 300;
  text-decoration: none;
  transition: opacity .2s ease;
}

.footer-links a:hover {
  opacity: .7;
}

.footer-links li {
  margin-bottom: var(--s-8);
  list-style: none;
}

.footer-legal ul {
  padding-left: 0;
  margin: 0;
}
.footer-link {
  color: inherit;
  text-decoration: none;
}

.footer-link:hover {
  text-decoration: underline;
}
/* Bottom Section (schlank machen) */
.footer-bottom {
  border-top: none;
  padding-top: 0;
  padding-bottom: var(--s-8);
  text-align: left;
  width: calc(100% - 60px);
  margin-inline: auto;
  margin-top: var(--s-8);
  margin-left: 200px;
}

.footer-bottom p {
  color: var(--ink-meta);
  font-size: .75rem;
  opacity: .8;
  margin: 0;
}

/* Responsive */
@media (max-width: 1100px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .nco-footer {
    width: 100% !important;
    margin-inline: 0 !important;
    border-radius: 14px !important;
  }
  .footer-grid {
    grid-template-columns: 1fr;
    width: 100%;
    padding-inline: 35px;
    margin-inline: 0;
    gap: 1.2rem;
  }
  .footer-legal {
    margin-top: 0.5rem;
  }
  .legal-footnote {
    padding-inline: 0;
    gap: .8rem;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0;
  }
  .legal-footnote-line {
    height: 100%;
  }
  .legal-footnote-text {
    width: 100% !important;
    max-width: none !important;
    font-size: .82rem;
    margin-left: 0;
  }
  .footer-bottom {
    margin-left: 0;
    width: 90%;
    margin-inline: 0;
    padding-top: 0.0rem;
    padding-inline: 35px;
  }
}
/* ============================================
   FINAL LEGAL FOOTNOTE — integrated into footer
============================================ */

.legal-footnote {
  width: 90%;
  max-width: none;
  padding-inline: 0;
  margin: clamp(2rem, 6vw, 3rem) auto 0;

  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
}

.legal-footnote {
  grid-column: 3;
  justify-self: start;
  max-width: 90% !important;   /* breiter anzeigen, damit Textblock kürzer wird */
  margin-top: var(--s-8);
}

.legal-footnote-line {
  width: 1px;
  height: 50px;
  background: rgba(0,0,0,.18);
  opacity: .45;
}

.legal-footnote-text {
  font-family: var(--font-body);
  font-size: clamp(.68rem, .85vw, .78rem);
  line-height: 1.55;
  font-weight: 300;
  color: var(--ink-meta);
  width: 90% !important;
  max-width: none !important;
  margin-left: 0;
}