/* ============================================================
   TGI — Footer
   Werte 1:1 aus Prototyp shared.jsx Footer (Z.391-456).
   Tokens aus main.css.
   ============================================================ */

.site-footer {
  background: var(--forest-deep);
  color: var(--on-dark);
  margin-top: 40px;
}

.footer-inner {
  padding-block: 64px;             /* shared.jsx Z.397 */
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1.25fr;   /* shared.jsx Z.398 */
  gap: 40px;
  align-items: start;
}

.footer-col { min-width: 0; }

/* ── Marke ──────────────────────────────────────────────────── */

/* onDark-Variante der Wortmarke: gleiche Struktur wie Header,
   nur Farbe --forest -> --on-dark (shared.jsx Wordmark onDark) */
.site-logo--ondark .logo-the,
.site-logo--ondark .logo-green,
.site-logo--ondark .logo-idea {
  color: var(--on-dark);
}

.footer-brand-text {
  color: var(--on-dark-soft);
  font-size: 15px;
  max-width: 280px;
  margin-top: 18px;
  line-height: 1.6;
}

/* ── Spalten-Überschrift ────────────────────────────────────── */

.footer-heading {
  color: var(--on-dark-sage);
  margin-bottom: 16px;
}

/* ── Link-Listen (Entdecken / Service) ──────────────────────── */

.footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;                       /* shared.jsx Z.408 */
}

.footer-links a {
  color: var(--on-dark);
  font-size: 15px;
  text-decoration: none;
  background: none;
  border: 0;
  padding: 0;
  text-align: left;
}

/* ── Newsletter ─────────────────────────────────────────────── */

.footer-newsletter-text {
  color: var(--on-dark-soft);
  font-size: 14.5px;
  line-height: 1.55;
  margin: 0 0 14px;
}

.footer-newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-newsletter-input {
  padding: 13px 15px;
  border-radius: var(--r-md);
  border: 1px solid oklch(1 0 0 / .2);
  background: oklch(1 0 0 / .08);
  color: var(--on-dark);
  font-family: var(--sans);
  font-size: 15px;
  outline: none;
}

.footer-newsletter-input::placeholder {
  color: var(--on-dark-soft);
}

.footer-newsletter-btn {
  justify-content: center;
}

/* ── Bottom-Bar ─────────────────────────────────────────────── */

.footer-bottom {
  border-top: 1px solid oklch(1 0 0 / .12);
  margin-top: 48px;
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}

.footer-copy,
.footer-tagline {
  color: var(--on-dark-soft);
  font-size: 13px;
}

.footer-shops {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.footer-shops-label {
  color: var(--on-dark-sage);
}

.footer-shop-link {
  color: var(--on-dark);
  font-size: 13.5px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}

/* ── Responsive ─────────────────────────────────────────────── */

@media (max-width: 860px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}

@media (max-width: 560px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}
