.bd-footer {
  background: #0f2a5b;
  color: #e5efff;
  margin-top: 3rem
}

.bd-footer a {
  color: #e5efff;
  text-decoration: none
}

  .bd-footer a:hover {
    opacity: .9;
    text-decoration: underline
  }

.bd-footer__wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 2rem 1rem;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 2rem
}

.bd-footer__brand .bd-footer__logo {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: .75rem
}

.bd-footer .brand {
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: .3px
}

.bd-footer .icon {
  width: 22px;
  height: 22px;
  fill: #9cc2ff;
  flex: 0 0 22px
}

.bd-footer address {
  font-style: normal;
  line-height: 1.5
}

.bd-footer .vat {
  margin-top: .5rem;
  opacity: .9
}

.bd-footer h3 {
  font-size: 1rem;
  margin-bottom: .75rem;
  color: #cfe1ff
}

.bd-footer ul {
  list-style: none;
  padding: 0;
  margin: 0
}

.bd-footer .contact-list li {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: .35rem 0
}

.bd-footer .muted {
  opacity: .8;
  font-size: .95em
}

.bd-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.15);
  padding: 0.9rem 1rem;
  text-align: center;
  background: #0b2046
}

/* Legal links (privacy, terms, company details) above the copyright line */
.bd-footer__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .25rem .5rem;
  margin-bottom: .4rem;
  font-size: .95em
}

  .bd-footer__legal span {
    opacity: .6
  }

@media (max-width:900px) {
  .bd-footer__wrap {
    grid-template-columns: 1fr 1fr
  }

  .bd-footer__links {
    grid-column: 1/-1
  }
}

@media (max-width:640px) {
  .bd-footer__wrap {
    grid-template-columns: 1fr
  }

  .bd-footer {
    font-size: .98rem
  }
}
/* soft cards look (optional) */
.bd-footer__wrap > section {
  background: linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 1rem
}

html, body {
  height: 100%;
}

.bd-page,
.master-wrapper-page {
  min-height: 100vh;  /* fallback voor browsers zonder dvh */
  min-height: 100dvh; /* ondersteunt mobiel beter dan 100vh */
  display: flex;
  flex-direction: column;
}

.bd-main, /* vult de ruimte tussen header en footer */
.master-wrapper-content {
  flex: 1 0 auto;
}

.bd-footer {
  margin-top: 0; /* voor de zekerheid; niet nodig met flex */
}


.bd-footer__wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 1.25rem 1rem; /* was 2rem 1rem */
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 1.5rem; /* was 2rem */
}

  .bd-footer__wrap > section {
    padding: 0.75rem; /* was 1rem */
    border-radius: 10px; /* was 14px – optioneel kleiner */
  }

.bd-footer h3 {
  font-size: 0.95rem; /* iets kleiner */
  margin-bottom: 0.5rem; /* was 0.75rem */
}

.bd-footer .brand {
  font-size: 1.1rem; /* was 1.25rem */
}

.bd-footer .icon {
  width: 18px; /* was 22px */
  height: 18px;
}

/* ===== MOBILE ONLY footer tweaks ===== */

/* Tablet en kleiner: 2 kolommen */
@media (max-width: 900px) {
  .bd-footer__wrap {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    padding: 1rem;
  }

  .bd-footer__links {
    grid-column: 1 / -1;
  }

  /* kaarten iets compacter op tablet */
  .bd-footer__wrap > section {
    padding: .75rem;
    border-radius: 12px;
  }
}

/* Telefoon: 1 kolom */
@media (max-width: 640px) {
  .bd-footer__wrap {
    grid-template-columns: 1fr;
    gap: .75rem;
    padding: .75rem 1rem;
  }

  .bd-footer {
    font-size: 1rem;
  }

    .bd-footer .icon {
      width: 22px;
      height: 22px;
    }

    .bd-footer .brand {
      font-size: 1.2rem;
    }

    .bd-footer h3 {
      font-size: 1rem;
      margin-bottom: .5rem;
    }
}
