/* Gedeelde header (Inloggen-knop) en footer. Wordt door de server op elke
   publieke pagina gezet; gebruikt de site-thematokens uit /styles.css. */

a.brand-wrap, a.brand-wrap:visited { color: inherit; text-decoration: none; }

.topbar nav a.nav-login {
  margin-left: 20px;
  padding: 7px 16px;
  border: 1px solid var(--cyan);
  border-radius: 999px;
  color: var(--cyan);
  opacity: 1;
  font-weight: 600;
}
.topbar nav a.nav-login:hover { background: var(--cyan); color: #021526; }
.topbar nav a.nav-login:visited { color: var(--cyan); }
.topbar nav a.nav-login:visited:hover { color: #021526; }
body[data-theme="white"] .topbar nav a.nav-login { color: #0d5fb8; border-color: #0d5fb8; }
body[data-theme="white"] .topbar nav a.nav-login:hover { background: #0d5fb8; color: #ffffff; }

.site-footer {
  position: relative;
  z-index: 1;
  margin-top: 72px;
  padding: 44px 5vw 26px;
  border-top: 1px solid var(--line);
  background: var(--panel);
  color: var(--muted);
  font-size: .93rem;
}
.site-footer a { color: var(--muted); text-decoration: none; }
.site-footer a:hover { color: var(--cyan); }
.site-footer h2 { margin: 0 0 12px; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--text); }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.site-footer p { margin: 0 0 12px; color: var(--muted); }
.site-footer address { font-style: normal; line-height: 1.6; margin-bottom: 14px; }
.site-footer .brand { display: block; font-size: 1.1rem; color: var(--text); margin-bottom: 8px; }
.site-footer-grid { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 32px; max-width: 1200px; margin: 0 auto; }
.site-footer-cta { display: inline-block; padding: 8px 16px; border: 1px solid var(--line); border-radius: 12px; color: var(--text); }
.site-footer-cta:hover { border-color: var(--cyan); }
.site-footer-bottom { display: flex; flex-wrap: wrap; gap: 8px 22px; max-width: 1200px; margin: 34px auto 0; padding-top: 18px; border-top: 1px solid var(--line); font-size: .85rem; }

body[data-theme="white"] .site-footer { background: rgba(244, 250, 255, .9); }
body[data-theme="white"] .site-footer h2,
body[data-theme="white"] .site-footer .brand,
body[data-theme="white"] .site-footer-cta { color: #123764; }
body[data-theme="white"] .site-footer a,
body[data-theme="white"] .site-footer p { color: #355279; }
body[data-theme="white"] .site-footer a:hover { color: #0d5fb8; }

@media (max-width: 980px) {
  .site-footer-grid { grid-template-columns: 1fr 1fr; }
  .site-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .site-footer-grid { grid-template-columns: 1fr; }
  .topbar nav a.nav-login { margin-left: 10px; padding: 5px 12px; }
}
