/* ================================================================
   FOOTER
   ================================================================ */
.site-footer {
  background: var(--c-footer-gradient, var(--c-footer-bg));
  color: var(--c-footer-text);
  padding-bottom: calc(var(--audio-h) + env(safe-area-inset-bottom));
}

/* Wave at top of footer — uses .c-wave modifier system */
.footer-wave { line-height: 0; pointer-events: none; }
.footer-wave svg { display: block; width: 100%; height: 75px; }

.footer-inner {
  max-width: 1640px;
  margin-inline: auto;
  padding: 1.75rem var(--gutter) 1.5rem;
  display: grid;
  grid-template-columns: 1.75fr 1fr 1fr;
  gap: 2rem;
}
@media (max-width: 768px) {
  .footer-inner { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .footer-inner { grid-template-columns: 1fr; }
}

.footer-logo    { height: 26px; opacity: .95; margin-bottom: .75rem; }
.footer-tagline { font-size: .82rem; line-height: 1.6; color: var(--c-footer-tagline); max-width: 340px; }

.footer-col h4 {
  font-size: .65rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-footer-heading); margin-bottom: .75rem;
}
/* Chinese karakters hebben hun eigen spacing — Latijnse letter-spacing
   geeft anders gaten tussen elk teken. Same voor de email label. */
[data-lang="cn"] .footer-col h4,
[data-lang="cn"] .footer-email-label { letter-spacing: 0; }
.footer-col ul li + li { margin-top: .3rem; }
.footer-col a { font-size: .84rem; color: var(--c-footer-link); transition: color var(--t-fast); }
.footer-col a:hover { color: var(--c-footer-link-hover); }
.footer-email-label { font-size: .65rem; color: var(--c-footer-heading); margin-top: 1rem; margin-bottom: .15rem; }
.footer-email { font-size: .84rem; color: var(--c-footer-link); transition: color var(--t-fast); }
.footer-email:hover { color: var(--c-footer-link-hover); }

.footer-bottom {
  max-width: 1640px;
  margin-inline: auto;
  padding: 1rem var(--gutter);
  border-top: 1px solid var(--c-footer-border);
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: .75rem;
}
.footer-copy { font-size: .78rem; color: var(--c-footer-copy); display: flex; align-items: center; gap: .4rem; }
/* Hidden admin entry — © character voelt als knop bij hover, neutraal bij rust */
.footer-copy__admin {
  color: inherit; text-decoration: none; cursor: pointer;
  display: inline-block; padding: 0 .35rem; border-radius: 4px;
  transition: background var(--t-fast), color var(--t-fast);
}
.footer-copy__admin:hover {
  background: rgba(0,0,0,.08); color: var(--c-footer-link-hover);
}
.footer-logo-sm { height: 16px; opacity: .55; display: inline; }
.footer-legal { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.footer-legal a { font-size: .78rem; color: var(--c-footer-legal); transition: color var(--t-fast); }
.footer-legal a:hover { color: var(--c-footer-link-hover); }
.footer-legal span { color: var(--c-footer-legal-sep); font-size: .6rem; }

/* Social */
.footer-social { display: flex; gap: .5rem; margin-top: 1rem; }
.social-link {
  width: 30px; height: 30px; border-radius: 7px;
  background: var(--c-footer-social-bg); border: 1px solid var(--c-footer-social-border);
  display: flex; align-items: center; justify-content: center;
  color: var(--c-footer-social-text);
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.social-link:hover { background: var(--c-footer-social-hover-bg); color: var(--c-footer-social-hover-text); border-color: var(--c-footer-social-border); }

/* Spacing before footer */
#spa-content { padding-bottom: 0; }


/* footer logo handled in variables.css */

/* ── Footer logo switching ── */
/* Default: white logo visible, black hidden */
.footer-logo.logo-black,
.footer-logo-sm.logo-black { display: none; }

/* Luxe light theme: show black logo, hide white */

