/* Beloftebalk, prijs/levertijd-blok, cookiebanner, belknop */
.belofte-bar { background: #f3f3f3; color: #222; font: 600 .82rem/1.3 Roboto, Arial, sans-serif; border-bottom: 1px solid #ddd; }
.belofte-bar ul { list-style: none; margin: 0 auto; padding: 8px 16px; max-width: 1140px; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 22px; }
.belofte-bar li { margin: 0; padding: 0; white-space: nowrap; }
.belofte-bar li::before { content: "\2713\00a0"; color: #2f7d32; font-weight: 700; }
.belofte-bar a { color: inherit; text-decoration: underline; }

.info-strip { background: #fff; border-top: 1px solid #e3e3e3; border-bottom: 1px solid #e3e3e3; }
.info-strip .is-inner { max-width: 1140px; margin: 0 auto; padding: 22px 20px; display: grid; grid-template-columns: repeat(3, 1fr) auto; gap: 18px 28px; align-items: center; }
.info-strip .is-item .is-label { font: 700 .82rem/1.2 Roboto, Arial, sans-serif; letter-spacing: 1.2px; text-transform: uppercase; color: #666; margin: 0 0 4px; text-align: left; }
.info-strip .is-item p { font: 400 1rem/1.4 "Open Sans", Arial, sans-serif; color: #111; margin: 0; text-align: left; }
.info-strip .is-item strong { font-weight: 700; }
.info-strip .is-cta { display: inline-block; background: #1a1a1a; color: #fff; padding: 13px 22px; text-decoration: none; font: 700 .85rem Roboto, Arial, sans-serif; letter-spacing: 1.5px; text-transform: uppercase; text-align: center; white-space: nowrap; }
.info-strip .is-cta:hover, .info-strip .is-cta:focus { background: #bbcdd1; color: #111; }
.info-strip .is-tel { display: block; margin-top: 6px; font-size: .8rem; color: #555; text-align: center; }
@media (max-width: 991px) {
  .info-strip .is-inner { grid-template-columns: 1fr; text-align: center; }
  .info-strip .is-item .is-label, .info-strip .is-item p, .info-strip .is-tel { text-align: center !important; }
  .info-strip .is-cta { width: 100%; box-sizing: border-box; }
}
@media (max-width: 575px) { .belofte-bar ul { justify-content: flex-start; gap: 2px 14px; padding: 6px 12px; font-size: .78rem; } }

#cookie-banner { position: fixed; z-index: 100000; left: 16px; bottom: 16px; width: 380px; max-width: calc(100vw - 32px); background: #1a1a1a; color: #fff; padding: 18px 18px 16px; box-shadow: 0 10px 30px rgba(0,0,0,.35); font-family: "Open Sans", Arial, sans-serif; }
#cookie-banner .cb-title { color: #fff !important; margin: 0 0 6px; font: 700 1.05rem Roboto, Arial, sans-serif; text-align: left; }
#cookie-banner .cb-text { margin: 0 0 14px; font-size: .88rem; line-height: 1.5; color: #e6e6e6; text-align: left; }
#cookie-banner .cb-text a { color: #bbcdd1; text-decoration: underline; }
#cookie-banner .cb-btns { display: flex; gap: 10px; }
#cookie-banner button { flex: 1; padding: 11px 10px; font: 700 .85rem Roboto, Arial, sans-serif; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; border: 1px solid #fff; background: #fff; color: #111; border-radius: 0; }
#cookie-banner button.cb-no { background: transparent; color: #fff; }
#cookie-banner button:hover, #cookie-banner button:focus { background: #bbcdd1; color: #111; border-color: #bbcdd1; }
@media (max-width: 575px) { #cookie-banner { left: 0; right: 0; bottom: 0; width: auto; max-width: none; } }

.call-fab { display: none; }
@media (max-width: 991px) {
  .call-fab { display: flex; align-items: center; gap: 10px; position: fixed; z-index: 95; left: 12px; bottom: 76px; background: #fff; color: #111; text-decoration: none; padding: 9px 16px 9px 12px; border: 1px solid #8a8a8a; border-radius: 28px; box-shadow: 0 4px 14px rgba(0,0,0,.25); font: 700 .9rem/1.1 Roboto, Arial, sans-serif; }
  .call-fab small { display: block; font-weight: 400; font-size: .72rem; color: #555; }
  .call-fab svg { flex: 0 0 auto; }
  .call-fab:hover, .call-fab:focus { background: #1a1a1a; color: #bbcdd1; }
  .call-fab:hover small, .call-fab:focus small { color: #bbcdd1; }
}
.info-strip { max-width: 1140px; margin-left: auto; margin-right: auto; box-sizing: border-box; }
.info-strip.is-inline { width: calc(100% + 60px); max-width: none; margin: 18px -30px; }
@media (max-width: 1199px) { .info-strip.is-inline { width: calc(100% + 40px); margin: 14px -20px; } }

/* Terug-naar-boven-knop op telefoon/tablet op dezelfde hoogte als de knop "Bel ons" (niet door de offertebalk) */
@media (max-width: 991px) {
  .u-back-to-top { bottom: 76px !important; right: 12px !important; }
}
