/* MeubelBezorgd public site: small additions on top of holu-dashboard/css/styles.css. */
:root {
  --mb-orange: var(--holu-orange, #EB5602);
  --mb-black: #090909;
  --mb-line: #eceff3;
  --mb-radius: 8px;
  --mb-shadow: 0 16px 38px rgba(16,24,40,.08);
}

.site-body {
  background: #fff;
}

@media (min-width: 992px) {
  .site-body .container {
    max-width: 1280px;
    padding-left: 18px;
    padding-right: 18px;
  }
}

.site-nav-contact {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-right: 12px;
}

.site-nav-contact a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 0 12px;
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
}

.site-nav-contact a:last-child {
  width: 36px;
  padding: 0;
  color: #25D366;
}

.site-body .holu-navbar {
  border-bottom: 1px solid rgba(255,255,255,.12);
  padding: .28rem 0;
  background: rgba(8, 9, 10, .98) !important;
}

.site-body .holu-logo-img {
  height: 58px !important;
}

.site-body .mb-text-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 1px;
  min-width: 0;
  text-decoration: none;
  line-height: 1;
}

.site-body .mb-text-logo-main {
  display: inline-flex;
  align-items: baseline;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.1rem, 2vw, 1.48rem);
  font-weight: 900;
  letter-spacing: 0;
  white-space: nowrap;
}

.site-body .mb-text-logo-main span {
  color: var(--mb-orange);
}

.site-body .mb-text-logo-main strong {
  color: #fff;
  font-weight: 900;
}

.site-body .mb-text-logo-sub {
  margin-top: 3px;
  color: rgba(255,255,255,.68);
  font-size: clamp(.56rem, 1.1vw, .68rem);
  font-weight: 800;
  letter-spacing: .01em;
  white-space: nowrap;
}

.site-body .holu-navbar .nav-link {
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: 0;
}

.site-body .phone-btn {
  min-height: 42px;
  padding: .62rem 1.25rem !important;
  border-radius: 999px !important;
  font-size: .75rem;
}

.site-body .customer-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  border: 1px solid rgba(255,255,255,.22);
  padding: 0 16px !important;
  color: #fff;
  background: rgba(255,255,255,.08);
  box-shadow: none;
  font-size: .76rem;
  font-weight: 900;
  text-transform: none;
}

.site-body .customer-nav-btn:hover,
.site-body .customer-nav-btn:focus {
  border-color: var(--mb-orange);
  color: #fff;
  background: var(--mb-orange);
}

.site-body .customer-nav-btn i {
  font-size: 1rem;
  line-height: 1;
}

@media (min-width: 992px) {
  .site-body .holu-navbar .holu-hamburger {
    display: none !important;
  }
}

.site-body .hero {
  min-height: 520px;
}

.site-body .hero-overlay {
  background: linear-gradient(90deg, rgba(6,8,10,.94) 0%, rgba(6,8,10,.88) 28%, rgba(6,8,10,.42) 54%, rgba(6,8,10,.08) 100%);
}

.site-body .hero-eyebrow {
  margin-bottom: .7rem;
  color: var(--mb-orange);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.site-body .hero-lead {
  max-width: 470px;
  margin-bottom: 1.15rem;
  color: #fff;
  font-size: 1.04rem;
  font-weight: 650;
  line-height: 1.55;
}

.site-body .hero-title {
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 1rem;
  font-size: clamp(2.4rem, 4.5vw, 4.05rem);
  line-height: .98;
  font-weight: 900;
}

.site-body .hero-trust {
  gap: 1.45rem;
  margin-bottom: 1.2rem;
}

.site-body .hero-trust .trust-chip {
  align-items: center;
  gap: 9px;
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
  line-height: 1.2;
}

.site-body .hero-trust .trust-chip .chip-ico {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 2px solid var(--mb-orange);
  border-radius: 50%;
  color: var(--mb-orange);
  font-size: 1.1rem;
}

.site-body .hero-actions {
  gap: .75rem;
}

.site-body .hero-actions .btn {
  min-height: 52px;
  border-radius: 6px;
  padding: .82rem 1.35rem;
  font-size: .78rem;
}

.hero-rating {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: .9rem;
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  text-decoration: none;
}

.hero-rating:hover,
.hero-rating:focus {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.hero-rating span {
  color: var(--mb-orange);
  letter-spacing: 2px;
}

.hero-rating strong {
  color: #fff;
}

.site-body .hero .booking-card {
  max-width: 365px;
  border-radius: 8px;
  padding: 30px 26px 24px;
  box-shadow: 0 22px 52px rgba(16,24,40,.2);
}

.site-body .booking-title {
  color: #111827;
  font-size: 1.08rem;
  letter-spacing: 0;
}

.site-body .booking-sub {
  margin: 7px 0 14px;
  color: #475467;
  font-size: .82rem;
  line-height: 1.35;
}

.hero-form-field {
  display: grid;
  gap: 6px;
  margin-bottom: 11px;
  color: #344054;
  font-size: .76rem;
  font-weight: 900;
}

.hero-form-field .input-icon .form-control {
  height: 50px;
  border-radius: 6px;
  background: #fff;
  font-size: .82rem;
}

.site-body .hero .booking-card .btn-lg {
  min-height: 52px;
  border-radius: 6px;
  font-size: .78rem;
}

.site-body .booking-checks {
  display: grid;
  gap: 5px;
  margin-top: 12px;
}

.site-body .booking-checks span {
  color: #344054;
  font-size: .72rem;
  font-weight: 800;
}

.site-body .booking-checks i {
  color: #12B76A;
}

.feature-strip.mb-usp-strip {
  position: relative;
  z-index: 3;
  padding: 24px 0 22px;
  border-bottom: 1px solid #EEF0F3;
  background: #fff;
  box-shadow: 0 12px 32px rgba(16,24,40,.07);
}

.mb-usp-strip .feature-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
}

.mb-usp-strip .feature-ico {
  display: inline-grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  color: var(--mb-orange);
  font-size: 1.9rem;
}

.mb-usp-strip .feature-title {
  margin: 0 0 2px;
  color: #111827;
  font-size: .84rem;
  font-weight: 900;
}

.mb-usp-strip .feature-desc {
  margin: 0;
  color: #667085;
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.25;
}

.mb-section {
  padding: 42px 0;
}

.mb-furniture-section,
.mb-reviews-section,
.mb-booking-section {
  background: #fff;
}

.mb-section-head {
  max-width: 720px;
  margin-bottom: 24px;
}

.mb-section-head.center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.mb-section-head.compact {
  margin: 0;
  color: #fff;
}

.mb-section-head h2 {
  margin: 5px 0 8px;
  color: #111827;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  font-weight: 900;
  line-height: 1.08;
}

.mb-section-head.compact h2,
.mb-section-head.compact p {
  color: #fff;
}

.mb-section-head p {
  color: #667085;
  font-size: .95rem;
  font-weight: 500;
}

.mb-furniture-section .mb-section-head {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.mb-furniture-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.mb-furniture-item {
  display: block;
  min-height: 220px;
  border: 1px solid var(--mb-line);
  border-radius: 8px;
  padding: 15px 15px 18px;
  color: inherit;
  background: linear-gradient(180deg, #fff 0%, #FAFBFC 100%);
  box-shadow: var(--mb-shadow);
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.mb-furniture-item:hover,
.mb-furniture-item:focus {
  border-color: rgba(235,86,2,.28);
  color: inherit;
  transform: translateY(-3px);
  box-shadow: 0 20px 44px rgba(16,24,40,.12);
}

.mb-furniture-photo {
  display: grid;
  place-items: center;
  height: 112px;
  margin-bottom: 13px;
  border-radius: 7px;
  overflow: hidden;
  background: #F5F6F8;
}

.mb-furniture-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.mb-furniture-item h3 {
  margin: 0 0 5px;
  color: #111827;
  font-family: 'Montserrat', sans-serif;
  font-size: .92rem;
  font-weight: 900;
  line-height: 1.18;
}

.mb-furniture-item p {
  margin: 0;
  color: #667085;
  font-size: .8rem;
  font-weight: 500;
  line-height: 1.45;
}

.mb-holu-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 22px;
  border-radius: 9px;
  padding: 22px 26px;
  color: #fff;
  background: linear-gradient(90deg, rgba(8,8,8,.96), rgba(8,8,8,.9)), url('/holu-dashboard/assets/hero-bg.png') center/cover;
}

.mb-holu-banner strong {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 1.35rem;
}

.mb-holu-banner p {
  max-width: 740px;
  margin: 6px 0 0;
  color: rgba(255,255,255,.78);
  font-size: .9rem;
}

.mb-how-section {
  padding: 30px 0 20px;
  background: #fff;
}

.mb-how-head {
  margin-bottom: 18px;
}

.mb-how-head h2 {
  margin-top: 4px;
  font-size: clamp(1.55rem, 2.6vw, 2.35rem);
}

.mb-how-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  max-width: 1040px;
  margin: 0 auto;
}

.mb-how-timeline::before {
  content: '';
  position: absolute;
  top: 48px;
  left: 13%;
  right: 13%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(235,86,2,.35) 10%, rgba(235,86,2,.35) 90%, transparent);
}

.mb-how-step {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  text-align: center;
}

.mb-how-number {
  position: absolute;
  top: 13px;
  left: 0;
  color: rgba(235,86,2,.34);
  font-family: 'Montserrat', sans-serif;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1;
}

.mb-how-icon {
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 13px;
  border: 2px solid rgba(235,86,2,.2);
  border-radius: 50%;
  color: var(--mb-orange);
  background: #fff;
  box-shadow: 0 8px 24px rgba(235,86,2,.08);
  font-size: 1.55rem;
}

.mb-how-step h3 {
  margin: 0 0 6px;
  color: #111827;
  font-family: 'Montserrat', sans-serif;
  font-size: .92rem;
  font-weight: 900;
}

.mb-how-step p {
  max-width: 170px;
  margin: 0;
  color: #667085;
  font-size: .76rem;
  font-weight: 500;
  line-height: 1.45;
}

.mb-quick-section {
  padding: 0 0 30px;
  background: #fff;
}

.mb-quick-card {
  display: grid;
  grid-template-columns: minmax(270px, .72fr) minmax(640px, 1.28fr);
  gap: 22px;
  align-items: center;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  border: 0;
  border-radius: 8px;
  padding: 20px 26px;
  background: linear-gradient(90deg, #07080a 0%, #0b0c0f 58%, #111318 100%);
  box-shadow: 0 16px 34px rgba(16,24,40,.12);
}

.mb-quick-copy .hero-eyebrow {
  margin-bottom: 5px;
  color: var(--mb-orange);
  font-size: .68rem;
}

.mb-quick-copy h2 {
  margin: 0 0 6px;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.05rem, 1.7vw, 1.48rem);
  font-weight: 900;
  line-height: 1.08;
}

.mb-quick-copy p {
  max-width: 360px;
  margin: 0;
  color: rgba(255,255,255,.8);
  font-size: .83rem;
  font-weight: 500;
  line-height: 1.4;
}

@media (min-width: 992px) {
  #wat-bezorgen-we .mb-section-head,
  .mb-how-head {
    max-width: 960px;
  }

  #wat-bezorgen-we .mb-section-head h2,
  .mb-how-head h2,
  .mb-quick-copy h2 {
    white-space: nowrap;
  }

  #wat-bezorgen-we .mb-section-head h2,
  .mb-how-head h2 {
    font-size: clamp(1.85rem, 2.4vw, 2.25rem);
    line-height: 1.05;
  }

  .mb-quick-copy h2 {
    font-size: clamp(1.05rem, 1.45vw, 1.32rem);
    line-height: 1.1;
  }
}

.mb-quick-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(190px, auto);
  gap: 12px;
  align-items: end;
}

.mb-quick-field {
  display: grid;
  gap: 6px;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: .76rem;
  font-weight: 800;
}

.mb-quick-field .form-control {
  height: 46px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 6px;
  padding: 0 13px;
  color: #111827;
  background: #fff;
  font-size: .84rem;
}

.mb-quick-form .btn {
  min-height: 46px;
  border-radius: 6px;
  padding: 0 19px;
  white-space: nowrap;
  font-size: .78rem;
  box-shadow: 0 10px 22px rgba(235,86,2,.22);
}

.mb-quick-card .mb-form-hint,
.mb-quick-card [data-quick-price-result] {
  grid-column: 2;
}

.mb-form-hint {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: -9px 0 0;
  color: rgba(255,255,255,.78);
  font-size: .76rem;
  font-weight: 700;
}

.mb-form-hint i {
  color: var(--mb-orange);
}

.mb-area-section {
  padding: 22px 0 34px;
  background: linear-gradient(90deg, #fff 0%, #f8fafc 100%);
}

.mb-area-grid {
  display: grid;
  grid-template-columns: minmax(285px, .68fr) minmax(0, 1.32fr);
  align-items: center;
  gap: clamp(22px, 3vw, 44px);
  min-height: 455px;
}

.mb-area-copy {
  padding-left: 24px;
}

.mb-area-grid h2 {
  max-width: 420px;
  margin: 5px 0 12px;
  color: #111827;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 900;
  line-height: 1.08;
}

.mb-area-grid p {
  max-width: 365px;
  margin: 0;
  color: #667085;
  font-size: .92rem;
  font-weight: 500;
  line-height: 1.55;
}

.mb-province-list {
  display: grid;
  gap: 5px;
  margin: 18px 0;
}

.mb-province-list span {
  color: #344054;
  font-size: .86rem;
  font-weight: 800;
}

.mb-province-list span::before {
  content: '✓';
  margin-right: 8px;
  color: var(--mb-orange);
  font-weight: 900;
}

.mb-area-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 455px;
  overflow: visible;
}

.mb-area-map {
  position: relative;
  z-index: 2;
  display: block;
  width: auto;
  max-width: 100%;
  max-height: min(560px, 52vw);
  height: auto;
  margin: 0 auto;
  filter: drop-shadow(0 18px 28px rgba(16,24,40,.08));
}

.mb-review-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.mb-review-head > div {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.mb-review-head strong {
  color: #111827;
  font-family: 'Montserrat', sans-serif;
  font-size: .96rem;
}

.mb-review-head strong span,
.mb-stars {
  color: var(--mb-orange);
  letter-spacing: 1px;
}

.mb-review-head small {
  color: #667085;
  font-size: .78rem;
  font-weight: 700;
}

.btn-review-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border: 1px solid #D9DEE7;
  border-radius: 5px;
  padding: 0 14px;
  color: #344054;
  background: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: .68rem;
  font-weight: 900;
  text-decoration: none;
}

.mb-review-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.mb-review-card {
  border: 1px solid var(--mb-line);
  border-radius: 8px;
  padding: 18px 20px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16,24,40,.06);
}

.mb-review-card p {
  min-height: 58px;
  margin: 8px 0 14px;
  color: #344054;
  font-size: .88rem;
  font-weight: 500;
  line-height: 1.48;
}

.mb-review-person {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.mb-review-person > div {
  min-width: 0;
}

.mb-review-avatar {
  order: 2;
  display: inline-grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, var(--mb-orange), #111827);
  box-shadow: 0 8px 18px rgba(16,24,40,.16);
  font-family: 'Montserrat', sans-serif;
  font-size: .78rem;
  font-weight: 900;
}

.mb-review-card strong {
  display: block;
  color: #111827;
  font-size: .86rem;
  font-weight: 900;
}

.mb-review-card small {
  display: block;
  color: #667085;
  font-size: .78rem;
  font-weight: 600;
}

.mb-booking-section {
  padding-top: 34px;
  scroll-margin-top: 92px;
}

.mb-booking-section .mb-wizard {
  max-width: 1080px;
  border-radius: 9px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 16px 42px rgba(16,24,40,.1);
}

.mb-wizard-steps {
  margin: 0;
  padding: 16px 18px 12px;
  background: #fff;
}

.mb-wizard-steps button {
  position: relative;
  border: 0;
  background: transparent;
  font-size: .74rem;
}

.mb-wizard-steps button span {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin: 0 auto 6px;
  border-radius: 50%;
  color: #98A2B3;
  background: #F2F4F7;
}

.mb-wizard-steps button.active {
  color: #111827;
  background: transparent;
}

.mb-wizard-steps button.active span {
  color: #fff;
  background: var(--mb-orange);
}

.mb-wizard-panel {
  padding: 22px;
  background: #fff;
}

.mb-wizard-panel legend {
  margin-bottom: 14px;
  color: #111827;
  font-size: 1.05rem;
}

.calculator-address-block {
  border-radius: 8px;
  background: #FBFCFE;
}

.mb-site-footer {
  padding: 0 0 14px;
  color: #fff;
  background: #fff;
}

.site-body .mb-site-footer > .container {
  max-width: min(100% - 48px, 1500px);
  padding-left: 0;
  padding-right: 0;
}

.mb-footer-shell {
  border-radius: 8px 8px 0 0;
  padding: 34px clamp(30px, 3.5vw, 54px) 16px;
  color: #fff;
  background: linear-gradient(90deg, rgba(5,5,5,.97), rgba(5,5,5,.88)), url('/holu-dashboard/assets/meubelbezorgd-hero.png') center 48%/cover;
}

.mb-footer-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  padding: 0 0 26px;
  margin-bottom: 28px;
}

.mb-footer-cta-copy {
  display: flex;
  align-items: center;
  gap: 15px;
}

.footer-phone-ico {
  display: inline-grid;
  place-items: center;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  color: #fff;
  background: var(--mb-orange);
  font-size: 1.35rem;
  box-shadow: 0 14px 28px rgba(235,86,2,.28);
}

.mb-footer-cta h3 {
  margin: 0 0 5px;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  font-weight: 900;
  line-height: 1.05;
}

.mb-footer-cta p {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: .92rem;
  font-weight: 500;
}

.mb-footer-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.mb-footer-cta-actions .btn {
  min-height: 48px;
  border-radius: 6px;
  padding: 0 20px;
  font-size: .78rem;
}

.mb-footer-grid {
  display: grid;
  grid-template-columns: minmax(310px, 1.35fr) minmax(150px, .7fr) minmax(230px, .9fr) minmax(250px, .95fr);
  gap: clamp(30px, 4vw, 58px);
  align-items: start;
}

.mb-footer-logo {
  display: block;
  width: 170px;
  height: auto;
  margin-bottom: 12px;
}

.mb-site-footer .mb-text-logo-footer {
  margin-bottom: 16px;
}

.mb-site-footer .mb-text-logo-main {
  font-size: clamp(1.28rem, 2.2vw, 1.68rem);
}

.mb-site-footer .mb-text-logo-sub {
  color: rgba(255,255,255,.66);
}

.mb-site-footer h4 {
  margin: 0 0 12px;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  font-size: .84rem;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.mb-site-footer p,
.mb-site-footer a,
.mb-site-footer strong,
.mb-site-footer span {
  color: rgba(255,255,255,.76);
  font-size: .86rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
}

.mb-footer-brand p {
  max-width: 290px;
  margin: 0 0 14px;
}

.mb-footer-brand strong {
  display: block;
  color: rgba(255,255,255,.92);
  font-weight: 800;
}

.mb-site-footer nav {
  display: grid;
  align-content: start;
  gap: 8px;
}

.mb-site-footer nav a,
.mb-site-footer nav span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.mb-site-footer nav a:hover,
.mb-footer-social a:hover {
  color: #fff;
}

.mb-site-footer nav i {
  color: var(--mb-orange);
}

.mb-footer-social {
  display: flex;
  gap: 9px;
  margin-top: 0;
}

.mb-footer-social a {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  color: #fff;
}

.mb-footer-action {
  display: grid;
  gap: 13px;
  justify-items: stretch;
  padding: 2px 0 4px;
}

.mb-footer-action .btn {
  min-height: 52px;
  border-radius: 6px;
  font-size: .8rem;
}

.mb-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 22px;
  border-top: 1px solid rgba(255,255,255,.12);
  padding-top: 14px;
  text-align: left;
}

.mb-footer-bottom span {
  color: rgba(255,255,255,.58);
  font-size: .78rem;
}

.mb-footer-legal {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: 14px;
  margin-left: auto;
}

.mb-site-footer .mb-footer-legal a {
  color: rgba(255,255,255,.68);
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.mb-site-footer .mb-footer-legal a:hover,
.mb-site-footer .mb-footer-legal a:focus {
  color: #fff;
}

.holu-quick-result {
  margin-top: .9rem;
  border: 1px solid var(--holu-border);
  border-radius: 10px;
  padding: .9rem;
  background: #fafafa;
  font-size: .82rem;
}

.holu-quick-result strong {
  display: block;
  color: var(--holu-text);
  font-family: 'Montserrat', sans-serif;
  font-size: 1.45rem;
  line-height: 1.1;
}

.holu-quick-result ul {
  margin: .7rem 0;
  padding-left: 1rem;
}

.holu-quick-result.success { border-color: rgba(46,158,91,.35); background: #f0fdf4; }
.holu-quick-result.manual { border-color: rgba(235,86,2,.3); background: #fff7ed; }
.holu-quick-result.error { border-color: rgba(220,38,38,.3); background: #fef2f2; }
.holu-quick-result.loading { color: var(--holu-muted); }

.mb-service-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  max-width: 1126px;
  margin: 2.5rem auto 0;
  border-radius: 14px;
  padding: 1.35rem 1.5rem;
  background: #FDF3EA;
}

.mb-service-note strong {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: .95rem;
  text-transform: uppercase;
}

.mb-service-note span {
  color: var(--holu-muted);
  font-size: .9rem;
}

.mb-service-note .extra-ico {
  flex: 0 0 auto;
}

.mb-simple-section {
  background: #fff;
  padding: 3.5rem 0;
}

.mb-simple-section.alt {
  background: var(--holu-cream);
}

.mb-simple-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  max-width: 1150px;
  margin: 0 auto;
}

.mb-simple-card {
  border: 1px solid var(--holu-border);
  border-radius: 16px;
  padding: 1.35rem;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.05);
}

.mb-simple-card i {
  color: var(--holu-orange);
  font-size: 1.75rem;
}

.mb-simple-card h3 {
  margin: .8rem 0 .45rem;
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 800;
}

.mb-simple-card p {
  margin: 0;
  color: var(--holu-muted);
  font-size: .92rem;
  line-height: 1.5;
}

.mb-booking-section {
  background: #fff;
  padding: 3.5rem 0 4.25rem;
  scroll-margin-top: 92px;
}

.mb-section-head {
  max-width: 780px;
  margin: 0 0 clamp(24px, 4vw, 42px);
}

.mb-section-head.center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.mb-section-head h2 {
  margin: 8px 0 12px;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.85rem, 3vw, 3rem);
  font-weight: 800;
  line-height: 1.05;
}

.mb-section-head p {
  margin: 0;
  color: var(--holu-muted);
  font-size: 1rem;
}

.mb-booking-section .mb-wizard {
  max-width: 1126px;
  margin: 0 auto;
  border: 1px solid var(--holu-border);
  border-radius: 16px;
  padding: 1.5rem;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.05);
}

.mb-wizard-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .5rem;
  margin-bottom: 1.25rem;
}

.mb-wizard-steps button {
  min-height: 44px;
  border: 1px solid var(--holu-border);
  border-radius: 8px;
  background: #fff;
  color: var(--holu-muted);
  font-family: 'Montserrat', sans-serif;
  font-size: .78rem;
  font-weight: 800;
}

.mb-wizard-steps button span { display: none; }
.mb-wizard-steps button.active { border-color: var(--holu-orange); background: var(--holu-orange); color: #fff; }
.mb-wizard-panel { display: none; border: 0; padding: 0; margin: 0; }
.mb-wizard-panel.active { display: block; }
.mb-wizard-panel legend { float: none; margin-bottom: 1rem; font-family: 'Montserrat', sans-serif; font-size: 1.35rem; font-weight: 800; }
.mb-wizard-actions { display: flex; justify-content: flex-end; gap: .75rem; margin-top: 1.25rem; }

.calculator-address-block {
  border: 1px solid var(--holu-border);
  border-radius: 14px;
  padding: 1rem;
  background: #fafafa;
}

.calculator-section-title {
  margin-bottom: .7rem;
  font-family: 'Montserrat', sans-serif;
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.calculator-section-title i { color: var(--holu-orange); margin-right: .35rem; }
.calculator-columns,
.flow-grid-two,
.mb-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.mb-wizard label { color: var(--holu-text); font-weight: 700; }
.mb-wizard input,
.mb-wizard select,
.mb-wizard textarea {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--holu-border);
  border-radius: 10px;
  padding: .6rem .75rem;
  background: #fafafa;
  font-weight: 500;
}

.btn-line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border: 1px solid var(--holu-border);
  border-radius: 10px;
  padding: .6rem 1.1rem;
  background: #fff;
  color: var(--holu-text);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  text-decoration: none;
}

.mb-date-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.mb-date-options label,
.mb-check,
.mb-summary-grid div,
.mb-total-box {
  border: 1px solid var(--holu-border);
  border-radius: 10px;
  padding: .9rem;
  background: #fafafa;
}

.mb-total-box { display: grid; gap: .35rem; margin-top: .9rem; }
.mb-total-box strong { color: var(--holu-orange); font-family: 'Montserrat', sans-serif; font-size: 1.7rem; }
.mb-manual-message { margin: .9rem 0 0; color: #9a3412; font-weight: 700; }

.mb-faq-section {
  padding-top: 42px;
  scroll-margin-top: 92px;
  background: linear-gradient(180deg, #fff 0%, #F8FAFC 100%);
}

.mb-faq-layout {
  display: grid;
  grid-template-columns: minmax(300px, .62fr) minmax(520px, 1fr);
  gap: 28px;
  align-items: start;
}

.mb-faq-card {
  position: sticky;
  top: 96px;
  border-radius: 8px;
  padding: 32px;
  color: #fff;
  background: linear-gradient(135deg, rgba(6,7,9,.99), rgba(13,15,19,.92)), url('/holu-dashboard/assets/meubelbezorgd-hero.png') center/cover no-repeat;
  box-shadow: 0 22px 52px rgba(16,24,40,.18);
  overflow: hidden;
}

.mb-faq-card::after {
  content: '';
  position: absolute;
  right: -34px;
  bottom: -42px;
  width: 138px;
  height: 138px;
  border: 22px solid rgba(235,86,2,.14);
  border-radius: 50%;
}

.mb-faq-card > * {
  position: relative;
  z-index: 1;
}

.mb-faq-card h2 {
  max-width: 330px;
  margin: 8px 0 12px;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.45rem, 2.3vw, 2.15rem);
  font-weight: 900;
  line-height: 1.08;
}

.mb-faq-card p {
  max-width: 330px;
  margin: 0 0 22px;
  color: rgba(255,255,255,.78);
  font-size: .92rem;
  font-weight: 500;
  line-height: 1.55;
}

.mb-faq-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 11px;
  max-width: 330px;
  margin-bottom: 16px;
}

.mb-faq-card .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 50px;
  border-radius: 6px;
  font-size: .76rem;
  white-space: normal;
}

.mb-faq-card .btn-holu-outline {
  border-color: rgba(255,255,255,.76);
  color: #fff;
  background: rgba(255,255,255,.06);
}

.mb-faq-card .btn-holu-outline:hover,
.mb-faq-card .btn-holu-outline:focus {
  border-color: #fff;
  color: #fff;
  background: rgba(255,255,255,.12);
}

.mb-faq-card .mb-faq-whatsapp {
  border-color: rgba(37,211,102,.7);
  color: #fff;
  background: linear-gradient(135deg, #25D366 0%, #128C4A 100%);
  box-shadow: 0 14px 30px rgba(37,211,102,.22);
}

.mb-faq-card .mb-faq-whatsapp:hover,
.mb-faq-card .mb-faq-whatsapp:focus {
  border-color: #38E47A;
  color: #fff;
  background: linear-gradient(135deg, #2FE676 0%, #159B52 100%);
  box-shadow: 0 16px 34px rgba(37,211,102,.3);
}

.mb-faq-card .mb-faq-whatsapp i {
  font-size: 1rem;
}

.mb-faq-phone {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(255,255,255,.86);
  font-size: .88rem;
  font-weight: 850;
  text-decoration: none;
}

.mb-faq-phone:hover,
.mb-faq-phone:focus {
  color: #fff;
}

.mb-faq-phone i {
  color: var(--mb-orange);
}

.mb-faq-review {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 330px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 10px;
  padding: 13px 14px;
  color: #fff;
  background: rgba(255,255,255,.08);
  text-decoration: none;
}

.mb-faq-review:hover,
.mb-faq-review:focus {
  border-color: rgba(255,255,255,.34);
  color: #fff;
  background: rgba(255,255,255,.12);
}

.mb-faq-review-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: #111827;
  background: #fff;
  font-size: 1.08rem;
}

.mb-faq-review strong,
.mb-faq-review small {
  display: block;
}

.mb-faq-review strong {
  font-family: 'Montserrat', sans-serif;
  font-size: .92rem;
  font-weight: 900;
  line-height: 1.15;
}

.mb-faq-review small {
  margin-top: 3px;
  color: rgba(255,255,255,.78);
  font-size: .76rem;
  font-weight: 800;
  line-height: 1.25;
}

.mb-faq-bottom-cta {
  max-width: 330px;
  margin-top: 12px;
}

.mb-faq {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  max-width: none;
  margin: 0;
}

.mb-faq .accordion-item {
  border: 1px solid #E6E8EC;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 26px rgba(16,24,40,.045);
}

.mb-faq .accordion-button {
  min-height: 52px;
  padding: 15px 18px;
  color: #111827;
  background: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: .9rem;
  font-weight: 900;
  line-height: 1.25;
  box-shadow: none;
}

.mb-faq .accordion-button::after {
  width: 16px;
  height: 16px;
  background-size: 16px;
}

.mb-faq .accordion-button:not(.collapsed) {
  color: #111827;
  background: #fff;
  box-shadow: inset 4px 0 0 var(--mb-orange);
}

.mb-faq .accordion-body {
  padding: 0 18px 17px;
  color: #667085;
  font-size: .88rem;
  font-weight: 500;
  line-height: 1.55;
}

.flow-shell {
  min-height: calc(100vh - 85px);
  padding: clamp(28px, 5vw, 64px) 16px;
  background: linear-gradient(180deg, #fff 0%, #f3f4f6 100%);
}

.flow-card {
  width: min(100%, 980px);
  margin: 0 auto;
  border: 1px solid var(--holu-border);
  border-radius: 12px;
  padding: clamp(24px, 4vw, 42px);
  background: #fff;
  box-shadow: 0 14px 40px rgba(16,24,40,.08);
}

.flow-card h1 {
  margin: 8px 0 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 800;
  line-height: 1.08;
}

.flow-card > p { color: var(--holu-muted); max-width: 680px; }
.flow-form { display: grid; gap: 22px; margin-top: 26px; }
.flow-step { display: grid; gap: 14px; border: 1px solid var(--holu-border); border-radius: 10px; padding: 18px; }
.flow-step.compact { background: #F8FAFC; }
.flow-step legend { float: none; width: auto; padding: 0 8px; margin: 0; font-family: 'Montserrat', sans-serif; font-size: 1rem; font-weight: 800; }

.flow-form label,
.route-select {
  display: grid;
  gap: 7px;
  color: var(--holu-text);
  font-weight: 700;
}

.flow-form input,
.flow-form select,
.flow-form textarea,
.route-select select {
  width: 100%;
  border: 1px solid #DDE1E7;
  border-radius: 10px;
  padding: 11px 12px;
  font: inherit;
  background: #fff;
}

.quote-card { max-width: 760px; }
.quote-list { display: grid; gap: 9px; padding: 0; margin: 20px 0; list-style: none; }
.quote-list li { display: flex; gap: 10px; align-items: center; font-weight: 700; }
.quote-list i { color: var(--holu-orange); }
.quote-note { border-radius: 10px; padding: 14px 16px; background: #FDECE1; color: #5c4636 !important; }
.route-options { border-top: 1px solid var(--holu-border); border-bottom: 1px solid var(--holu-border); padding: 18px 0; margin: 22px 0; }
.route-options h2 { font-size: 1rem; margin-bottom: 10px; }
.route-option { display: flex; align-items: center; gap: 8px; padding: 9px 0; }

.mobile-sticky-cta { display: none; }

.legal-shell {
  background: linear-gradient(180deg, #fff 0%, #F8FAFC 100%);
}

.legal-hero {
  padding: clamp(42px, 7vw, 88px) 0 clamp(28px, 5vw, 54px);
  color: #fff;
  background: linear-gradient(90deg, rgba(7,8,10,.98), rgba(7,8,10,.88)), url('/holu-dashboard/assets/meubelbezorgd-hero.png') center/cover no-repeat;
}

.legal-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 22px;
  color: rgba(255,255,255,.82);
  font-size: .84rem;
  font-weight: 800;
  text-decoration: none;
}

.legal-back:hover,
.legal-back:focus {
  color: #fff;
}

.legal-hero h1 {
  margin: 8px 0 12px;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(2.2rem, 4.4vw, 4rem);
  font-weight: 900;
  line-height: 1;
}

.legal-hero p {
  max-width: 660px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 1.02rem;
  line-height: 1.6;
}

.legal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.legal-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 0 13px;
  color: rgba(255,255,255,.82);
  background: rgba(255,255,255,.08);
  font-size: .78rem;
  font-weight: 850;
}

.legal-content {
  padding: clamp(32px, 6vw, 72px) 0;
}

.legal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.legal-card,
.legal-note {
  border: 1px solid #E4E7EC;
  border-radius: 8px;
  padding: clamp(22px, 3vw, 34px);
  background: #fff;
  box-shadow: 0 14px 34px rgba(16,24,40,.07);
}

.legal-card.accent {
  border-color: rgba(235,86,2,.26);
  box-shadow: 0 16px 38px rgba(235,86,2,.09);
}

.legal-card span {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--mb-orange);
  font-family: 'Montserrat', sans-serif;
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.legal-card h2,
.legal-note h2 {
  margin: 0 0 12px;
  color: #111827;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: 900;
}

.legal-card p,
.legal-note p {
  margin: 0 0 16px;
  color: #667085;
  font-weight: 600;
  line-height: 1.55;
}

.legal-card address {
  margin: 0 0 18px;
  color: #344054;
  font-style: normal;
  font-weight: 700;
  line-height: 1.65;
}

.legal-card a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  color: #111827;
  font-weight: 850;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.legal-card a i {
  color: var(--mb-orange);
}

.legal-note {
  margin-top: 22px;
}

.legal-holu-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.legal-holu-note p {
  margin-bottom: 0;
}

.legal-holu-note .btn {
  flex: 0 0 auto;
  min-height: 54px;
  border-radius: 8px;
  padding: 0 22px;
  font-family: 'Montserrat', sans-serif;
  font-size: .78rem;
  font-weight: 900;
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  .legal-holu-note {
    align-items: stretch;
    flex-direction: column;
  }

  .legal-holu-note .btn {
    width: 100%;
    white-space: normal;
  }
}

@media (max-width: 991.98px) {
  .legal-grid {
    grid-template-columns: 1fr;
  }

  .site-body .mb-site-footer > .container {
    max-width: min(100% - 28px, 1500px);
  }

  .mb-footer-shell {
    padding: 28px 24px 16px;
  }

  .site-nav-contact {
    margin: 10px 0 12px;
  }

  .site-body .hero-title {
    white-space: normal;
  }

  .mb-furniture-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mb-holu-banner,
  .mb-area-grid,
  .mb-quick-card,
  .mb-footer-grid {
    grid-template-columns: 1fr;
  }

  .mb-holu-banner {
    align-items: flex-start;
    flex-direction: column;
  }

  .mb-quick-card .mb-form-hint,
  .mb-quick-card [data-quick-price-result] {
    grid-column: auto;
  }

  .mb-review-grid {
    grid-template-columns: 1fr;
  }

  .mb-faq {
    grid-template-columns: 1fr;
  }

  .mb-footer-action {
    padding-left: 0;
  }

  .mb-footer-action .btn {
    width: 100%;
  }

  .mb-how-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
    max-width: 640px;
  }

  .mb-faq-layout {
    grid-template-columns: 1fr;
  }

  .mb-faq-card {
    position: relative;
    top: auto;
  }

  .mb-how-timeline::before {
    display: none;
  }

  .mb-simple-grid,
  .calculator-columns,
  .flow-grid-two,
  .mb-summary-grid { grid-template-columns: 1fr; }
  .mb-wizard-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
  body { padding-bottom: 68px; }
  .site-body .mb-site-footer > .container {
    max-width: calc(100% - 18px);
  }

  .mb-footer-shell {
    padding: 24px 18px 14px;
  }

  .site-nav-contact {
    align-items: stretch;
    flex-direction: column;
  }

  .site-nav-contact a,
  .site-nav-contact a:last-child {
    width: 100%;
  }

  .site-body .hero .booking-card {
    padding: 18px;
    margin-top: 4px;
  }

  .site-body .hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .site-body .hero-actions .btn {
    width: 100%;
    white-space: normal;
  }

  .site-body .hero-trust {
    justify-content: space-between;
    gap: 8px;
  }

  .site-body .hero-trust .trust-chip {
    min-width: 0;
    font-size: .68rem;
  }

  .site-body .hero-trust .trust-chip .chip-ico {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
  }

  .mb-section {
    padding: 32px 0;
  }

  .mb-furniture-grid,
  .mb-quick-form,
  .mb-how-timeline {
    grid-template-columns: 1fr;
  }

  .mb-how-step {
    min-height: 122px;
  }

  .mb-faq-card {
    padding: 26px 22px 24px;
  }

  .mb-faq-card h2 {
    margin-bottom: 14px;
    font-size: 1.45rem;
  }

  .mb-faq-card p {
    margin-bottom: 20px;
  }

  .mb-faq-actions {
    gap: 10px;
  }

  .mb-faq .accordion-button {
    min-height: 48px;
    padding: 14px 15px;
    font-size: .82rem;
  }

  .mb-faq .accordion-body {
    padding: 0 15px 15px;
    font-size: .82rem;
  }

  .mb-footer-cta,
  .mb-footer-cta-copy,
  .mb-footer-bottom {
    align-items: stretch;
    flex-direction: column;
  }

  .mb-footer-cta-actions {
    justify-content: stretch;
  }

  .mb-footer-cta-actions .btn {
    width: 100%;
  }

  .mb-how-number {
    left: calc(50% - 92px);
  }

  .mb-holu-banner {
    padding: 18px;
  }

  .mb-holu-banner .btn {
    width: 100%;
    white-space: normal;
  }

  .mb-area-grid {
    gap: 20px;
  }

  .mb-area-copy {
    padding-left: 0;
  }

  .mb-area-visual {
    min-height: 0;
  }

  .mb-area-map {
    width: 100%;
    max-height: none;
  }

  .mb-review-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .mb-wizard-panel {
    padding: 16px;
  }

  .mb-service-note,
  .mb-wizard-actions { flex-direction: column; align-items: stretch; }
  .mb-wizard-steps { grid-template-columns: 1fr; }
  .mobile-sticky-cta {
    position: fixed;
    z-index: 1040;
    left: 12px;
    right: 12px;
    bottom: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    border-radius: 8px;
    background: var(--holu-orange);
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(235,86,2,.32);
  }
}

/* Final homepage typography alignment pass. */
.site-body #wat-bezorgen-we .mb-section-head h2,
.site-body .mb-how-head h2 {
  font-weight: 900;
  letter-spacing: 0;
}

@media (min-width: 992px) {
  .site-body #wat-bezorgen-we .mb-section-head,
  .site-body .mb-how-head {
    max-width: 960px;
  }

  .site-body #wat-bezorgen-we .mb-section-head h2,
  .site-body .mb-how-head h2 {
    font-size: clamp(1.85rem, 2.4vw, 2.25rem);
    line-height: 1.05;
    white-space: nowrap;
  }

  .site-body .mb-quick-copy h2 {
    font-size: clamp(1.05rem, 1.45vw, 1.32rem);
    line-height: 1.1;
    white-space: nowrap;
  }
}

/* Price-first booking flow. */
.mb-booking-flow {
  max-width: 1126px;
  margin: 0 auto;
  border: 1px solid #E4E7EC;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(16,24,40,.1);
  overflow: hidden;
}

.mb-route-quote,
.mb-price-result,
.mb-manual-request,
.mb-booking-form,
.mb-booking-confirmed {
  padding: clamp(20px, 3vw, 34px);
}

.mb-flow-route-grid,
.mb-situation-grid,
.mb-confirm-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.mb-route-box,
.mb-situation-grid > div,
.mb-confirm-grid > div,
.mb-confirm-price,
.mb-booking-confirmed {
  border: 1px solid #E4E7EC;
  border-radius: 8px;
  background: #FAFBFC;
}

.mb-route-box {
  margin: 0;
  padding: 18px;
}

.mb-route-box legend,
.mb-wizard-panel legend {
  float: none;
  width: auto;
  margin: 0 0 16px;
  color: #111827;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-weight: 900;
  letter-spacing: 0;
}

.mb-route-box legend i {
  color: var(--mb-orange);
}

.mb-route-fields,
.mb-manual-form {
  display: grid;
  grid-template-columns: 1.35fr .7fr .7fr;
  gap: 12px;
}

.mb-route-fields label,
.mb-manual-form label,
.mb-booking-form label,
.mb-full-label {
  display: grid;
  gap: 7px;
  color: #344054;
  font-size: .78rem;
  font-weight: 900;
}

.mb-route-fields input,
.mb-manual-form input,
.mb-booking-form input,
.mb-booking-form textarea,
.mb-booking-form select {
  width: 100%;
  min-height: 52px;
  border: 1px solid #D0D5DD;
  border-radius: 8px;
  padding: 0 14px;
  background: #fff;
  color: #101828;
  font-size: .95rem;
  font-weight: 650;
}

.mb-booking-form textarea {
  min-height: 98px;
  padding-top: 12px;
}

.mb-route-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 18px;
}

.mb-route-submit p,
.mb-date-note,
.mb-step-sub {
  margin: 0;
  color: #667085;
  font-size: .9rem;
  font-weight: 600;
}

.mb-route-submit i,
.mb-price-result li::marker {
  color: #12B76A;
}

.mb-flow-message {
  margin-top: 16px;
  border-radius: 8px;
  padding: 12px 14px;
  color: #344054;
  background: #F2F4F7;
  font-weight: 750;
}

.mb-flow-message[data-type="error"] { color: #991B1B; background: #FEF2F2; }
.mb-flow-message[data-type="warning"] { color: #9A3412; background: #FFF7ED; }
.mb-flow-message[data-type="success"] { color: #166534; background: #F0FDF4; }

.mb-price-result,
.mb-manual-request {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, .36fr);
  gap: 22px;
  align-items: center;
  border-top: 1px solid #E4E7EC;
  background: linear-gradient(135deg, #fff 0%, #FFF7ED 100%);
}

.mb-price-result[hidden],
.mb-manual-request[hidden],
.mb-booking-form[hidden],
.mb-booking-confirmed[hidden] {
  display: none !important;
}

.mb-price-result h3,
.mb-manual-request h3,
.mb-booking-confirmed h3 {
  margin: 6px 0 8px;
  color: #111827;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.35rem, 2.6vw, 2.25rem);
  font-weight: 900;
  line-height: 1.08;
}

.mb-price-box {
  border-radius: 8px;
  padding: 22px;
  color: #fff;
  background: #101828;
}

.mb-price-box span,
.mb-confirm-price span {
  display: block;
  margin-bottom: 4px;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.mb-price-box strong,
.mb-confirm-price strong,
.mb-booking-confirmed strong {
  display: block;
  color: var(--mb-orange);
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(2rem, 4vw, 3.15rem);
  font-weight: 900;
  line-height: 1;
}

.mb-price-result ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
  grid-column: 1 / -1;
  margin: 0;
  padding-left: 18px;
  color: #344054;
  font-weight: 750;
}

.mb-price-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  grid-column: 1 / -1;
}

.btn-link-clean {
  border: 0;
  background: transparent;
  color: #344054;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.mb-manual-form {
  grid-template-columns: 1fr;
}

.mb-price-sticky {
  position: sticky;
  top: 80px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: calc(clamp(20px, 3vw, 34px) * -1) calc(clamp(20px, 3vw, 34px) * -1) 20px;
  padding: 14px clamp(20px, 3vw, 34px);
  color: #fff;
  background: #101828;
}

.mb-price-sticky span { font-weight: 850; }
.mb-price-sticky strong { color: var(--mb-orange); font-family: 'Montserrat', sans-serif; font-size: 1.45rem; }

.mb-booking-form .mb-wizard-steps {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 22px;
  padding: 0;
  background: transparent;
}

.mb-booking-form .mb-wizard-steps button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  border-radius: 8px;
}

.mb-booking-form .mb-wizard-steps button span {
  display: inline-grid;
  margin: 0;
}

.mb-booking-form .mb-wizard-panel {
  padding: 0;
  background: transparent;
}

.mb-furniture-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.mb-choice-card {
  position: relative;
  min-height: 190px;
  border: 2px solid #E4E7EC;
  border-radius: 8px;
  padding: 10px;
  background: #fff;
  cursor: pointer;
}

.mb-choice-card input,
.mb-date-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.mb-choice-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 6px;
  object-fit: cover;
}

.mb-choice-card span {
  display: block;
  margin-top: 10px;
  color: #111827;
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
}

.mb-choice-card i {
  position: absolute;
  top: 16px;
  right: 16px;
  display: none;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #fff;
  background: var(--mb-orange);
}

.mb-choice-card:has(input:checked) {
  border-color: var(--mb-orange);
  box-shadow: 0 12px 28px rgba(235,86,2,.14);
}

.mb-choice-card:has(input:checked) i { display: grid; }

.mb-group-choice,
.mb-manual-note,
.mb-date-fallback {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
  border: 1px solid #E4E7EC;
  border-radius: 8px;
  padding: 16px;
  background: #FAFBFC;
}

.mb-group-choice strong { flex: 1 0 100%; color: #101828; font-family: 'Montserrat', sans-serif; }
.mb-group-choice label { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; }

.mb-situation-grid > div,
.mb-confirm-grid > div,
.mb-confirm-price {
  padding: 18px;
}

.mb-situation-grid h3,
.mb-confirm-grid h3 {
  margin: 0 0 6px;
  color: #111827;
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 900;
}

.mb-segment,
.mb-access-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.mb-segment label,
.mb-access-options label,
.mb-date-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  border: 1px solid #D0D5DD;
  border-radius: 8px;
  padding: 10px;
  background: #fff;
  color: #101828;
  font-weight: 850;
  cursor: pointer;
}

.mb-full-label,
.mb-photo-field {
  margin-top: 16px;
}

.mb-photo-field {
  border: 1px dashed #D0D5DD;
  border-radius: 8px;
  padding: 18px;
  background: #fff;
}

.mb-photo-field span { color: #101828; font-family: 'Montserrat', sans-serif; font-size: 1rem; font-weight: 900; }
.mb-photo-field small { color: #667085; font-weight: 600; }

.mb-date-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.mb-date-card {
  align-items: flex-start;
  flex-direction: column;
  min-height: 120px;
}

.mb-date-card:has(input:checked),
.mb-segment label:has(input:checked),
.mb-access-options label:has(input:checked) {
  border-color: var(--mb-orange);
  background: #FFF7ED;
}

.mb-date-card span { color: #667085; font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.mb-date-card strong { color: #101828; font-family: 'Montserrat', sans-serif; font-size: 1.05rem; }
.mb-date-card small { color: #667085; font-weight: 650; }

.mb-confirm-grid p {
  white-space: pre-line;
  margin: 0;
  color: #475467;
  font-weight: 650;
}

.mb-confirm-price {
  margin-top: 16px;
  background: #101828;
}

.mb-confirm-price span,
.mb-confirm-price li { color: rgba(255,255,255,.78); }
.mb-confirm-price ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; margin: 14px 0 0; padding-left: 18px; }

.mb-payment-choice {
  margin-top: 16px;
  border: 1px solid #E4E7EC;
  border-radius: 8px;
  padding: 18px;
  background: #fff;
}

.mb-payment-choice h3 {
  margin: 0 0 4px;
  color: #111827;
  font-family: 'Montserrat', sans-serif;
  font-size: 1.05rem;
  font-weight: 900;
}

.mb-payment-choice > p {
  margin: 0 0 14px;
  color: #667085;
  font-size: .9rem;
  font-weight: 600;
}

.mb-payment-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.mb-payment-card {
  position: relative;
  display: grid !important;
  grid-template-columns: auto 1fr;
  gap: 4px 12px;
  align-items: center;
  border: 2px solid #E4E7EC;
  border-radius: 8px;
  padding: 14px;
  background: #FAFBFC;
  cursor: pointer;
}

.mb-payment-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.mb-payment-card span {
  display: inline-grid;
  place-items: center;
  grid-row: span 2;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: var(--mb-orange);
  background: #FFF7ED;
  font-size: 1.25rem;
}

.mb-payment-card strong {
  color: #101828;
  font-family: 'Montserrat', sans-serif;
  font-size: .92rem;
  font-weight: 900;
}

.mb-payment-card small {
  color: #667085;
  font-weight: 600;
  line-height: 1.4;
}

.mb-payment-card:has(input:checked) {
  border-color: var(--mb-orange);
  background: #FFF7ED;
  box-shadow: 0 12px 28px rgba(235,86,2,.12);
}

.mb-check {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}

.mb-check a {
  color: var(--mb-orange);
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.mb-check a:hover,
.mb-check a:focus {
  color: #B93800;
}

.mb-check input,
.mb-segment input,
.mb-access-options input,
.mb-group-choice input {
  width: auto;
  min-height: auto;
}

.mb-booking-confirmed {
  margin: clamp(20px, 3vw, 34px);
  background: #F0FDF4;
}

@media (max-width: 991.98px) {
  .mb-flow-route-grid,
  .mb-price-result,
  .mb-manual-request,
  .mb-situation-grid,
  .mb-confirm-grid,
  .mb-date-options {
    grid-template-columns: 1fr;
  }

  .mb-route-submit {
    align-items: stretch;
    flex-direction: column;
  }

  .mb-furniture-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .mb-route-fields,
  .mb-manual-form,
  .mb-furniture-choice-grid,
  .mb-booking-form .mb-wizard-steps,
  .mb-confirm-price ul,
  .mb-price-result ul,
  .mb-payment-options {
    grid-template-columns: 1fr;
  }

  .mb-route-quote,
  .mb-price-result,
  .mb-manual-request,
  .mb-booking-form,
  .mb-booking-confirmed {
    padding: 18px;
  }

  .mb-price-sticky {
    top: 64px;
    margin: -18px -18px 18px;
    padding: 12px 18px;
  }

  .mb-choice-card {
    min-height: 0;
  }

  .mb-price-actions .btn,
  .mb-price-actions .btn-link-clean,
  .mb-route-submit .btn,
  .mb-wizard-actions .btn,
  .mb-wizard-actions .btn-line {
    width: 100%;
    min-height: 52px;
  }
}

/* Homepage polish round: keep existing sections, refine spacing and conversion surfaces. */
.site-body .container {
  max-width: min(100% - 40px, 1180px);
}

.site-body .btn-holu-orange,
.site-body .btn-holu-outline,
.site-body .btn-line,
.site-body .btn-review-outline {
  border-radius: 8px;
  min-height: 52px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  letter-spacing: 0;
}

.site-body input,
.site-body select,
.site-body textarea,
.site-body .form-control {
  border-radius: 8px;
}

.mb-section {
  padding: clamp(46px, 6vw, 74px) 0;
}

.mb-booking-section {
  padding: clamp(64px, 7vw, 92px) 0 clamp(70px, 8vw, 104px);
  background: linear-gradient(180deg, #fff 0%, #F8FAFC 100%);
}

.mb-booking-section .mb-section-head {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.mb-booking-flow {
  max-width: 1180px;
  border-color: rgba(235,86,2,.16);
  border-radius: 8px;
  box-shadow: 0 28px 70px rgba(16,24,40,.13);
}

.mb-route-quote,
.mb-price-result,
.mb-manual-request,
.mb-booking-form,
.mb-booking-confirmed {
  padding: clamp(26px, 4vw, 44px);
}

.mb-route-box,
.mb-situation-grid > div,
.mb-confirm-grid > div,
.mb-confirm-price,
.mb-payment-choice {
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16,24,40,.055);
}

.mb-route-fields input,
.mb-manual-form input,
.mb-booking-form input,
.mb-booking-form textarea,
.mb-booking-form select {
  min-height: 54px;
  border-color: #D7DCE4;
  font-size: .96rem;
}

.mb-route-submit {
  align-items: center;
  margin-top: 22px;
}

.mb-route-submit .btn,
.mb-price-actions .btn,
.mb-wizard-actions .btn {
  min-height: 58px;
  padding-left: 24px;
  padding-right: 24px;
  box-shadow: 0 16px 32px rgba(235,86,2,.24);
}

.mb-price-result {
  border-top: 1px solid rgba(235,86,2,.16);
  background: linear-gradient(135deg, #fff 0%, #FFF6ED 58%, #fff 100%);
}

.mb-price-box,
.mb-confirm-price,
.mb-price-sticky {
  background: linear-gradient(135deg, #101828 0%, #171B22 100%);
}

.mb-price-box {
  padding: 28px;
  box-shadow: 0 20px 44px rgba(16,24,40,.18);
}

.mb-price-actions {
  align-items: center;
}

.mb-choice-card {
  min-height: 220px;
  padding: 14px;
  box-shadow: 0 12px 28px rgba(16,24,40,.055);
}

.mb-choice-card img {
  background: #F7F8FA;
  object-fit: contain;
}

.mb-furniture-grid {
  gap: 18px;
}

.mb-holu-banner {
  min-height: 142px;
  padding: clamp(28px, 4vw, 42px);
}

.mb-how-section {
  padding: clamp(52px, 6vw, 78px) 0 clamp(36px, 5vw, 58px);
}

.mb-how-timeline {
  max-width: 1120px;
  gap: clamp(20px, 3vw, 34px);
}

.mb-how-timeline::before {
  top: 58px;
  background: linear-gradient(90deg, transparent, rgba(16,24,40,.16) 12%, rgba(235,86,2,.2) 88%, transparent);
}

.mb-how-number {
  top: 6px;
  color: rgba(235,86,2,.5);
  font-size: 2.85rem;
}

.mb-how-icon {
  width: 70px;
  height: 70px;
  margin-bottom: 18px;
  font-size: 1.8rem;
}

.mb-how-step h3 {
  margin-bottom: 9px;
  font-size: 1rem;
}

.mb-how-step p {
  max-width: 195px;
  font-size: .84rem;
}

.mb-quick-card {
  grid-template-columns: minmax(285px, .64fr) minmax(690px, 1.36fr);
  gap: 28px;
  padding: clamp(26px, 3.4vw, 36px);
}

.mb-quick-form {
  grid-template-columns: repeat(2, minmax(205px, 1fr)) minmax(220px, auto);
}

.mb-quick-field .form-control,
.mb-quick-form .btn {
  min-height: 54px;
}

.mb-area-section {
  padding: clamp(48px, 6vw, 72px) 0;
}

.mb-area-grid {
  grid-template-columns: minmax(285px, .6fr) minmax(0, 1.4fr);
}

.mb-area-map {
  max-height: min(620px, 56vw);
}

.mb-reviews-section {
  padding-top: clamp(58px, 7vw, 86px);
}

.mb-review-head {
  margin-bottom: 26px;
}

.mb-review-grid {
  gap: 22px;
}

.mb-review-card {
  display: flex;
  flex-direction: column;
  min-height: 244px;
  padding: 28px 28px 24px;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(16,24,40,.075);
}

.mb-review-card .mb-stars {
  font-size: 1.08rem;
}

.mb-review-card p {
  flex: 1;
  min-height: 88px;
  margin: 14px 0 22px;
  font-size: .98rem;
}

.mb-review-avatar {
  width: 48px;
  height: 48px;
}

.mb-faq-section {
  padding-top: clamp(58px, 7vw, 86px);
}

.mb-faq-card {
  padding: clamp(34px, 4vw, 46px);
}

.mb-faq .accordion-button {
  min-height: 64px;
  padding: 20px 22px;
  font-size: .96rem;
}

.mb-faq .accordion-button:not(.collapsed) {
  background: #FFF7ED;
}

.mb-faq .accordion-body {
  padding: 0 22px 22px;
  font-size: .92rem;
}

.mb-footer-shell {
  padding: clamp(44px, 5vw, 66px) clamp(34px, 4vw, 66px) 24px;
}

.mb-footer-logo {
  width: 200px;
}

.mb-site-footer p,
.mb-site-footer a,
.mb-site-footer strong,
.mb-site-footer span {
  font-size: .92rem;
}

.mb-footer-action .btn,
.mb-footer-cta-actions .btn {
  min-height: 56px;
}

@media (max-width: 991.98px) {
  .site-body .container {
    max-width: min(100% - 28px, 1180px);
  }

  .mb-quick-card,
  .mb-quick-form,
  .mb-area-grid {
    grid-template-columns: 1fr;
  }

  .mb-furniture-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mb-route-submit {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 575.98px) {
  .site-body .container {
    max-width: calc(100% - 20px);
  }

  .site-body .hero .booking-card {
    padding: 22px 18px;
  }

  .site-body .hero .booking-card .btn,
  .site-body .hero .booking-card .btn-lg {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .mb-section {
    padding: 40px 0;
  }

  .mb-payment-options,
  .mb-quick-form,
  .mb-flow-route-grid,
  .mb-route-fields,
  .mb-furniture-choice-grid {
    grid-template-columns: 1fr;
  }

  .mb-furniture-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .mb-furniture-item {
    min-height: 0;
    padding: 12px;
  }

  .mb-furniture-photo {
    height: 94px;
  }

  .mb-furniture-item h3 {
    font-size: .82rem;
  }

  .mb-furniture-item p {
    font-size: .72rem;
    line-height: 1.35;
  }

  .mb-holu-banner {
    min-height: 0;
  }

  .mb-area-map {
    width: 100%;
    max-height: none;
  }

  .mb-review-card {
    min-height: 0;
  }

  .mb-route-quote,
  .mb-price-result,
  .mb-manual-request,
  .mb-booking-form,
  .mb-booking-confirmed {
    padding: 20px;
  }

  .mb-route-submit .btn,
  .mb-price-actions .btn,
  .mb-price-actions .btn-link-clean,
  .mb-wizard-actions .btn,
  .mb-wizard-actions .btn-line,
  .mb-footer-action .btn,
  .mb-footer-cta-actions .btn {
    width: 100%;
  }

  .mb-faq-card,
  .mb-footer-shell {
    padding-left: 20px;
    padding-right: 20px;
  }

  .mb-footer-action {
    gap: 9px;
  }

  .mb-footer-action .btn {
    min-height: 48px;
    border-radius: 8px;
    font-size: .74rem;
    box-shadow: none;
  }

  .mb-footer-action .btn-holu-dark-outline {
    border-color: rgba(255,255,255,.32);
    color: #fff;
    background: rgba(255,255,255,.06);
  }

  .mb-site-footer {
    padding-bottom: 84px;
  }
}

/* Final visual polish: wider, calmer desktop grid without changing content. */
@media (min-width: 992px) {
  .site-body .container,
  .site-body .holu-navbar > .container,
  .site-body .feature-strip > .container,
  .site-body .mb-site-footer > .container {
    width: calc(100% - 64px);
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }

  .site-body .hero-content {
    width: calc(100% - 64px);
    max-width: 1280px;
    padding-left: 0;
    padding-right: 0;
  }

  .site-body .hero-content > .row {
    --bs-gutter-x: 3.25rem;
  }

  .site-body .hero-copy {
    width: 62%;
  }

  .site-body .hero-content .col-lg-4 {
    width: 38%;
  }

  .site-body .hero-lead {
    max-width: 560px;
  }

  .site-body .hero .booking-card {
    max-width: 405px;
  }

  .feature-strip.mb-usp-strip {
    padding: 18px 0 17px;
  }

  .mb-usp-strip .row {
    --bs-gutter-x: 2.25rem;
  }

  .mb-usp-strip .feature-item {
    justify-content: flex-start;
    min-height: 44px;
  }

  .mb-section {
    padding: 64px 0;
  }

  .mb-furniture-section {
    padding-top: 58px;
    padding-bottom: 50px;
  }

  .mb-furniture-section .mb-section-head,
  .site-body #wat-bezorgen-we .mb-section-head,
  .site-body .mb-how-head {
    max-width: 900px;
    margin-bottom: 22px;
  }

  .mb-section-head h2,
  .site-body #wat-bezorgen-we .mb-section-head h2,
  .site-body .mb-how-head h2 {
    font-size: clamp(2.35rem, 3vw, 2.75rem);
    line-height: 1.04;
  }

  .mb-section-head p {
    font-size: 1rem;
  }

  .mb-furniture-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
  }

  .mb-furniture-item {
    min-height: 198px;
    padding: 14px 14px 16px;
  }

  .mb-furniture-photo {
    height: 104px;
    margin-bottom: 11px;
  }

  .mb-furniture-item h3 {
    font-size: .98rem;
  }

  .mb-furniture-item p {
    font-size: .8rem;
    line-height: 1.35;
  }

  .mb-holu-banner {
    min-height: 112px;
    margin-top: 20px;
    padding: 22px 28px;
  }

  .mb-holu-banner strong {
    font-size: 1.28rem;
  }

  .mb-holu-banner p {
    margin-top: 4px;
    font-size: .88rem;
  }

  .mb-how-section {
    padding: 50px 0 42px;
  }

  .mb-how-head {
    margin-bottom: 20px;
  }

  .mb-how-timeline {
    max-width: 1240px;
    gap: 36px;
  }

  .mb-how-timeline::before {
    top: 50px;
    left: 9%;
    right: 9%;
  }

  .mb-how-number {
    top: 10px;
    font-size: 2.35rem;
  }

  .mb-how-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 13px;
    font-size: 1.55rem;
  }

  .mb-how-step p {
    max-width: 230px;
    font-size: .82rem;
  }

  .mb-quick-section {
    padding: 4px 0 54px;
  }

  .mb-quick-card {
    grid-template-columns: minmax(300px, .3fr) minmax(0, .7fr);
    gap: 26px;
    padding: 24px 30px;
  }

  .mb-quick-copy h2 {
    font-size: clamp(1.18rem, 1.55vw, 1.45rem);
  }

  .mb-quick-copy p {
    max-width: 390px;
  }

  .mb-quick-form {
    grid-template-columns: 22fr 22fr 26fr;
    gap: 12px;
  }

  .mb-quick-field .form-control,
  .mb-quick-form .btn {
    height: 54px;
    min-height: 54px;
  }

  .mb-area-section {
    padding: 54px 0;
  }

  .mb-area-grid {
    grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
    gap: 28px;
    min-height: 0;
  }

  .mb-area-copy {
    padding-left: 0;
  }

  .mb-area-grid h2 {
    max-width: 470px;
    font-size: clamp(2.1rem, 2.8vw, 2.65rem);
  }

  .mb-area-grid p {
    max-width: 430px;
    font-size: 1rem;
  }

  .mb-province-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 430px;
    gap: 7px 18px;
    margin: 20px 0 22px;
  }

  .mb-area-visual {
    min-height: 0;
    justify-items: end;
  }

  .mb-area-map {
    width: min(100%, 760px);
    max-height: 665px;
    margin-right: 0;
  }

  .mb-reviews-section {
    padding: 58px 0 56px;
  }

  .mb-review-head {
    margin-bottom: 20px;
  }

  .mb-review-grid {
    gap: 20px;
  }

  .mb-review-card {
    min-height: 214px;
    padding: 22px 24px 20px;
  }

  .mb-review-card p {
    min-height: 66px;
    font-size: .94rem;
  }

  .mb-booking-section {
    padding: 58px 0 62px;
  }

  .mb-booking-section .mb-section-head {
    max-width: 900px;
    margin-bottom: 22px;
  }

  .mb-booking-section .mb-section-head h2 {
    font-size: clamp(2.45rem, 3.25vw, 3rem);
    margin: 5px 0 8px;
  }

  .mb-booking-section .mb-section-head p {
    font-size: 1.05rem;
  }

  .mb-booking-flow {
    max-width: 1240px;
  }

  .mb-route-quote,
  .mb-price-result,
  .mb-manual-request,
  .mb-booking-form,
  .mb-booking-confirmed {
    padding: 30px;
  }

  .mb-flow-route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }

  .mb-route-box {
    padding: 20px;
  }

  .mb-route-fields {
    grid-template-columns: minmax(160px, 1.25fr) minmax(104px, .72fr) minmax(108px, .78fr);
  }

  .mb-route-submit .btn {
    min-width: 260px;
  }

  .mb-faq-section {
    padding: 58px 0 62px;
  }

  .mb-faq-layout {
    grid-template-columns: minmax(0, 35fr) minmax(0, 65fr);
    gap: 26px;
  }

  .mb-faq-card {
    padding: 34px;
  }

  .mb-faq-card h2,
  .mb-faq-card p,
  .mb-faq-actions {
    max-width: none;
  }

  .mb-faq .accordion-button {
    min-height: 58px;
    padding: 18px 22px;
  }

  .mb-faq .accordion-body {
    padding: 0 22px 20px;
  }

  .mb-footer-shell {
    padding: 38px 42px 20px;
  }

  .mb-footer-cta {
    padding-bottom: 22px;
    margin-bottom: 24px;
  }

  .mb-footer-grid {
    grid-template-columns: 30fr 20fr 25fr 25fr;
    gap: 34px;
  }

  .mb-footer-logo {
    width: 184px;
  }

  .mb-footer-bottom {
    margin-top: 18px;
    padding-top: 12px;
  }
}

@media (min-width: 992px) and (max-width: 1279.98px) {
  .site-body .container,
  .site-body .holu-navbar > .container,
  .site-body .feature-strip > .container,
  .site-body .mb-site-footer > .container,
  .site-body .hero-content {
    width: calc(100% - 48px);
  }

  .site-body .hero-copy {
    width: 60%;
  }

  .site-body .hero-content .col-lg-4 {
    width: 40%;
  }

  .mb-furniture-grid {
    gap: 14px;
  }

  .mb-quick-card {
    grid-template-columns: 1fr;
  }

  .mb-quick-card .mb-form-hint,
  .mb-quick-card [data-quick-price-result] {
    grid-column: auto;
  }
}

@media (max-width: 991.98px) {
  .site-body .container,
  .site-body .mb-site-footer > .container {
    width: min(100% - 28px, 100%);
    max-width: none;
  }
}

/* Final desktop typography cleanup: calmer weights after the wider layout pass. */
@media (min-width: 992px) {
  .site-body .hero-title {
    font-weight: 900;
  }

  .site-body .hero-lead {
    font-size: 1.02rem;
    font-weight: 600;
  }

  .site-body .hero-eyebrow,
  .mb-quick-copy .hero-eyebrow,
  .mb-section-head .hero-eyebrow,
  .mb-area-copy .hero-eyebrow,
  .mb-booking-section .hero-eyebrow,
  .mb-faq-card .hero-eyebrow {
    font-size: .75rem;
    font-weight: 850;
    letter-spacing: .07em;
  }

  .mb-section-head h2,
  .site-body #wat-bezorgen-we .mb-section-head h2,
  .site-body .mb-how-head h2,
  .mb-area-grid h2 {
    font-size: clamp(2.25rem, 2.65vw, 2.55rem);
    font-weight: 850;
    line-height: 1.08;
  }

  .mb-booking-section .mb-section-head h2 {
    font-size: clamp(2.45rem, 3vw, 2.85rem);
    font-weight: 850;
    line-height: 1.06;
  }

  .mb-section-head p,
  .mb-area-grid p,
  .mb-booking-section .mb-section-head p {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
  }

  .mb-usp-strip .feature-title,
  .mb-furniture-item h3,
  .mb-how-step h3,
  .mb-faq .accordion-button,
  .mb-footer-cta h3,
  .mb-site-footer h4 {
    font-weight: 800;
  }

  .mb-usp-strip .feature-title {
    font-size: .88rem;
  }

  .mb-usp-strip .feature-desc {
    font-size: .78rem;
    font-weight: 600;
  }

  .mb-furniture-item h3 {
    font-size: .95rem;
  }

  .mb-furniture-item p,
  .mb-how-step p {
    font-size: .82rem;
    font-weight: 500;
  }

  .mb-holu-banner strong {
    font-size: 1.22rem;
    font-weight: 800;
    line-height: 1.22;
  }

  .mb-holu-banner p {
    font-size: .88rem;
    font-weight: 500;
    line-height: 1.42;
  }

  .mb-quick-copy h2 {
    font-size: clamp(1.15rem, 1.45vw, 1.38rem);
    font-weight: 850;
  }

  .mb-quick-copy p,
  .mb-quick-field,
  .mb-form-hint {
    font-weight: 600;
  }

  .mb-review-head strong {
    font-size: .95rem;
    font-weight: 800;
  }

  .mb-review-card p {
    font-size: .94rem;
    font-weight: 500;
    line-height: 1.45;
  }

  .mb-review-card strong {
    font-size: .9rem;
    font-weight: 800;
  }

  .mb-route-box legend,
  .mb-wizard-panel legend {
    font-size: clamp(1.08rem, 1.55vw, 1.32rem);
    font-weight: 850;
    line-height: 1.2;
  }

  .mb-route-fields label,
  .mb-manual-form label,
  .mb-booking-form label,
  .mb-full-label {
    font-size: .76rem;
    font-weight: 800;
  }

  .mb-route-fields input,
  .mb-manual-form input,
  .mb-booking-form input,
  .mb-booking-form textarea,
  .mb-booking-form select,
  .mb-quick-field .form-control {
    font-size: .92rem;
    font-weight: 600;
  }

  .site-body .btn-holu-orange,
  .site-body .btn-holu-outline,
  .site-body .btn-line,
  .site-body .btn-review-outline,
  .btn-link-clean {
    font-weight: 800;
  }

  .mb-faq-card h2 {
    font-size: clamp(1.75rem, 2vw, 2rem);
    font-weight: 850;
  }

  .mb-faq-card p,
  .mb-faq .accordion-body,
  .mb-site-footer p,
  .mb-site-footer a,
  .mb-site-footer strong,
  .mb-site-footer span {
    font-size: .9rem;
    font-weight: 500;
  }

  .site-body .mb-site-footer > .container {
    width: calc(100% - 32px);
    max-width: 1500px;
  }

  .mb-footer-shell {
    padding: 38px clamp(34px, 4vw, 56px) 20px;
  }

  .mb-footer-action {
    align-content: start;
    gap: 10px;
  }

  .mb-footer-action .btn {
    min-height: 48px;
    border-radius: 8px;
    padding: 0 16px;
    font-size: .76rem;
    box-shadow: none;
  }

  .mb-footer-action .btn-holu-orange {
    background: var(--mb-orange);
    border-color: var(--mb-orange);
    color: #fff;
  }

  .mb-footer-action .btn-holu-dark-outline {
    border: 1px solid rgba(255,255,255,.28);
    color: #fff;
    background: rgba(255,255,255,.06);
  }

  .mb-footer-action .btn-holu-dark-outline:hover,
  .mb-footer-action .btn-holu-dark-outline:focus {
    border-color: rgba(255,255,255,.46);
    background: rgba(255,255,255,.1);
    color: #fff;
  }
}

/* Footer final: full-width like the HOLU reference, with content aligned inside. */
.site-body .mb-site-footer {
  overflow: hidden;
  padding: 0;
  background: linear-gradient(90deg, rgba(5,5,5,.97), rgba(5,5,5,.88)), url('/holu-dashboard/assets/meubelbezorgd-hero.png') center 48%/cover;
}

.site-body .mb-site-footer > .container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.site-body .mb-footer-shell {
  border-radius: 0;
  background: transparent;
}

.site-body .mb-footer-cta,
.site-body .mb-footer-grid,
.site-body .mb-footer-bottom {
  width: min(100% - 64px, 1500px);
  margin-left: auto;
  margin-right: auto;
}

.site-body .mb-footer-action {
  justify-items: end;
  gap: 9px;
}

.site-body .mb-footer-action .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: min(100%, 300px);
  min-height: 46px;
  border-radius: 7px;
  padding: 0 18px;
  font-size: .74rem;
  font-weight: 850;
  line-height: 1;
  text-align: center;
  letter-spacing: 0;
}

.site-body .mb-footer-action .btn i {
  line-height: 1;
  transform: translateY(-.5px);
}

.site-body .mb-footer-action .btn-holu-orange {
  border-color: #ff5a00;
  background: #ff5a00;
  box-shadow: 0 10px 22px rgba(255,90,0,.22);
}

.site-body .mb-footer-action .btn-holu-orange:hover,
.site-body .mb-footer-action .btn-holu-orange:focus {
  border-color: #ff6d1a;
  background: #ff6d1a;
  color: #fff;
  transform: translateY(-1px);
}

.site-body .mb-footer-action .btn-holu-dark-outline {
  border-color: rgba(255,255,255,.34);
  background: rgba(255,255,255,.04);
  color: #fff;
}

.site-body .mb-footer-action .btn-holu-dark-outline:hover,
.site-body .mb-footer-action .btn-holu-dark-outline:focus {
  border-color: rgba(255,255,255,.56);
  background: rgba(255,255,255,.11);
  color: #fff;
  transform: translateY(-1px);
}

@media (max-width: 991.98px) {
  .site-body .mb-footer-cta,
  .site-body .mb-footer-grid,
  .site-body .mb-footer-bottom {
    width: min(100% - 28px, 100%);
  }

  .site-body .mb-footer-action,
  .site-body .mb-footer-action .btn {
    justify-items: stretch;
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .site-body .mb-site-footer {
    padding-bottom: 68px;
  }

  .site-body .mb-footer-cta,
  .site-body .mb-footer-grid,
  .site-body .mb-footer-bottom {
    width: calc(100% - 20px);
  }
}

/* Visual step 1: desktop width and section rhythm only. */
@media (min-width: 992px) {
  .site-body .container,
  .site-body .holu-navbar > .container,
  .site-body .feature-strip > .container,
  .site-body .hero-content {
    width: calc(100% - 64px);
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }

  .site-body .mb-section,
  .site-body .mb-area-section,
  .site-body .mb-reviews-section,
  .site-body .mb-faq-section {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .site-body .mb-furniture-section,
  .site-body .mb-how-section,
  .site-body .mb-quick-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .site-body .mb-booking-section {
    padding-top: 76px;
    padding-bottom: 76px;
  }

  .site-body .mb-furniture-grid,
  .site-body .mb-holu-banner,
  .site-body .mb-how-timeline,
  .site-body .mb-quick-card,
  .site-body .mb-review-grid,
  .site-body .mb-booking-flow,
  .site-body .mb-faq-layout {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .site-body .mb-footer-cta,
  .site-body .mb-footer-grid,
  .site-body .mb-footer-bottom {
    width: calc(100% - 64px);
    max-width: 1280px;
  }
}

/* Visual step 2: furniture category cards only. */
@media (min-width: 1200px) {
  .site-body #wat-bezorgen-we .mb-furniture-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
  }

  .site-body #wat-bezorgen-we .mb-furniture-item {
    min-height: 218px;
    border-color: rgba(17,24,39,.08);
    padding: 16px 16px 17px;
    background: linear-gradient(180deg, #fff 0%, #FBFCFD 100%);
    box-shadow: 0 10px 26px rgba(16,24,40,.045);
  }

  .site-body #wat-bezorgen-we .mb-furniture-item:hover,
  .site-body #wat-bezorgen-we .mb-furniture-item:focus {
    border-color: rgba(235,86,2,.2);
    box-shadow: 0 16px 34px rgba(16,24,40,.075);
  }

  .site-body #wat-bezorgen-we .mb-furniture-photo {
    height: 120px;
    margin-bottom: 13px;
    background: #F7F8FA;
  }

  .site-body #wat-bezorgen-we .mb-furniture-photo img {
    width: 115%;
    height: 115%;
    object-fit: contain;
  }

  .site-body #wat-bezorgen-we .mb-furniture-item h3 {
    margin-bottom: 5px;
    font-size: 1.02rem;
    font-weight: 850;
    line-height: 1.16;
  }

  .site-body #wat-bezorgen-we .mb-furniture-item p {
    font-size: .78rem;
    line-height: 1.32;
  }

  .site-body #wat-bezorgen-we .mb-holu-banner {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
}

/* Visual step 3: compact "Zo werkt het" only. */
@media (min-width: 992px) {
  .site-body #zo-werkt-het.mb-how-section {
    padding-top: 38px;
    padding-bottom: 24px;
  }

  .site-body #zo-werkt-het .mb-how-head {
    margin-bottom: 12px;
  }

  .site-body #zo-werkt-het .mb-how-timeline {
    width: 100%;
    max-width: none;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 34px;
    margin-left: 0;
    margin-right: 0;
  }

  .site-body #zo-werkt-het .mb-how-timeline::before {
    top: 48px;
    left: 7%;
    right: 7%;
  }

  .site-body #zo-werkt-het .mb-how-step {
    min-height: 126px;
  }

  .site-body #zo-werkt-het .mb-how-number {
    top: 3px;
    left: 0;
    color: rgba(235,86,2,.5);
    font-size: 2.85rem;
    font-weight: 900;
  }

  .site-body #zo-werkt-het .mb-how-icon {
    width: 68px;
    height: 68px;
    margin-bottom: 10px;
    font-size: 1.78rem;
  }

  .site-body #zo-werkt-het .mb-how-step h3 {
    margin-bottom: 5px;
    font-size: 1.04rem;
    font-weight: 850;
  }

  .site-body #zo-werkt-het .mb-how-step p {
    max-width: 245px;
    font-size: .85rem;
    line-height: 1.38;
  }

  .site-body .mb-quick-section {
    padding-top: 20px;
  }
}

/* Visual step 4: black quick calculator only. */
@media (min-width: 992px) {
  .site-body .mb-quick-card {
    width: calc(100% + 32px);
    max-width: none;
    margin-left: -16px;
    margin-right: -16px;
    grid-template-columns: minmax(0, 30fr) minmax(0, 70fr);
    gap: 30px;
    min-height: 198px;
    padding: 30px 34px;
  }

  .site-body .mb-quick-form {
    grid-template-columns: 22fr 22fr 26fr;
    gap: 14px;
    align-items: end;
  }

  .site-body .mb-quick-field .form-control,
  .site-body .mb-quick-form .btn {
    height: 56px;
    min-height: 56px;
  }

  .site-body .mb-quick-field {
    gap: 7px;
    font-size: .78rem;
  }

  .site-body .mb-quick-form .btn {
    border-radius: 8px;
    padding: 0 24px;
    font-size: .84rem;
    font-weight: 900;
    box-shadow: 0 14px 28px rgba(235,86,2,.28);
  }

  .site-body .mb-quick-card .mb-form-hint {
    grid-column: 2;
    margin-top: -4px;
    color: rgba(255,255,255,.84);
    font-size: .82rem;
    line-height: 1.35;
  }
}

/* Visual step 5: service area only. */
@media (min-width: 992px) {
  .site-body #bezorggebied.mb-area-section {
    padding-top: 64px;
    padding-bottom: 46px;
  }

  .site-body #bezorggebied .mb-area-grid {
    width: 100%;
    grid-template-columns: minmax(0, 40fr) minmax(0, 60fr);
    gap: 24px;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
  }

  .site-body #bezorggebied .mb-area-copy {
    align-self: center;
    padding-left: 0;
  }

  .site-body #bezorggebied .mb-area-visual {
    align-self: center;
    justify-items: end;
    min-height: 0;
  }

  .site-body #bezorggebied .mb-area-map {
    width: 100%;
    max-width: 820px;
    max-height: 760px;
    margin-right: 0;
    transform: scale(1.04);
    transform-origin: right center;
  }

  .site-body #bezorggebied .mb-province-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 430px;
    gap: 7px 18px;
    margin: 18px 0 20px;
  }

  .site-body #bezorggebied .btn-holu-orange {
    min-width: 390px;
    justify-content: center;
  }
}

@media (min-width: 1200px) {
  .site-body #bezorggebied .mb-area-grid {
    width: min(calc(100% + 112px), calc(100vw - 32px));
    margin-left: max(-56px, calc((100vw - 32px - 100%) / -2));
    margin-right: auto;
  }
}

/* Visual step 6: reviews only. */
@media (min-width: 992px) {
  .site-body .mb-reviews-section {
    padding-top: 66px;
    padding-bottom: 48px;
  }

  .site-body .mb-review-head {
    margin-bottom: 22px;
  }

  .site-body .mb-review-head > div {
    flex: 1 1 auto;
  }

  .site-body .mb-reviews-section .btn-review-outline {
    margin-left: auto;
  }

  .site-body .mb-review-grid {
    width: 100%;
    max-width: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

  .site-body .mb-review-card {
    min-height: 248px;
    padding: 28px 30px 26px;
    border-color: rgba(17,24,39,.08);
    box-shadow: 0 14px 34px rgba(16,24,40,.055);
  }

  .site-body .mb-stars {
    font-size: 1.22rem;
    letter-spacing: 1.4px;
  }

  .site-body .mb-review-card p {
    min-height: 78px;
    margin: 12px 0 20px;
    font-size: 1rem;
    line-height: 1.6;
  }

  .site-body .mb-review-card strong {
    font-size: .98rem;
    font-weight: 850;
  }

  .site-body .mb-review-card small {
    margin-top: 2px;
    font-size: .84rem;
    font-weight: 700;
  }

  .site-body .mb-review-avatar {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
    font-size: .82rem;
  }
}

/* Visual step 7: main booking module only. */
@media (min-width: 992px) {
  .site-body #boeken.mb-booking-section {
    padding-top: 68px;
  }

  .site-body #boeken .mb-section-head {
    margin-bottom: 18px;
  }

  .site-body #boeken .mb-section-head .hero-eyebrow {
    margin-bottom: 5px;
  }

  .site-body #boeken .mb-section-head h2 {
    margin: 3px 0 6px;
  }

  .site-body #boeken .mb-booking-flow {
    width: min(100%, 1240px);
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid rgba(17,24,39,.08);
    border-radius: 16px;
    box-shadow: 0 26px 70px rgba(16,24,40,.14);
  }

  .site-body #boeken .mb-route-quote,
  .site-body #boeken .mb-price-result,
  .site-body #boeken .mb-manual-request {
    padding: 34px;
  }

  .site-body #boeken .mb-flow-route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .site-body #boeken .mb-route-box {
    padding: 24px;
    border-color: rgba(17,24,39,.08);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(16,24,40,.045);
  }

  .site-body #boeken .mb-route-box legend {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    font-size: 1.3rem;
    font-weight: 900;
  }

  .site-body #boeken .mb-route-box legend i {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    color: #fff;
    background: var(--mb-orange);
    font-size: 1.08rem;
  }

  .site-body #boeken .mb-route-fields {
    grid-template-columns: minmax(180px, 1.58fr) minmax(96px, .64fr) minmax(104px, .68fr);
    gap: 13px;
  }

  .site-body #boeken .mb-route-fields label {
    gap: 8px;
    font-size: .8rem;
  }

  .site-body #boeken .mb-route-fields input {
    min-height: 56px;
    border-radius: 10px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .site-body #boeken .mb-route-submit {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 18px;
    margin-top: 24px;
  }

  .site-body #boeken .mb-route-submit .btn {
    min-width: 304px;
    min-height: 56px;
    padding-left: 30px;
    padding-right: 30px;
    font-size: .86rem;
  }

  .site-body #boeken .mb-route-submit p {
    display: inline-flex;
    align-items: center;
    justify-self: end;
    gap: 8px;
    max-width: 520px;
    border: 1px solid #E7EAEE;
    border-radius: 999px;
    padding: 10px 14px;
    color: #475467;
    background: #F8FAFC;
    font-size: .88rem;
    line-height: 1.25;
  }

  .site-body #boeken .mb-price-result {
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    gap: 26px;
    align-items: stretch;
    border-top: 0;
    background: linear-gradient(135deg, #fff 0%, #FFF7ED 100%);
  }

  .site-body #boeken .mb-price-result > div:first-child {
    align-self: center;
  }

  .site-body #boeken .mb-price-result h3 {
    margin: 5px 0 8px;
    font-size: clamp(1.65rem, 2.7vw, 2.6rem);
  }

  .site-body #boeken .mb-price-box {
    display: grid;
    align-content: center;
    min-height: 168px;
    border-radius: 14px;
    padding: 30px;
  }

  .site-body #boeken .mb-price-box span {
    color: rgba(255,255,255,.78);
    letter-spacing: .04em;
  }

  .site-body #boeken .mb-price-box strong {
    font-size: clamp(2.8rem, 5vw, 4.15rem);
  }

  .site-body #boeken .mb-price-result ul {
    grid-column: 1;
    grid-template-columns: 1fr;
    gap: 9px;
    padding-left: 0;
    list-style: none;
  }

  .site-body #boeken .mb-price-result li {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: .98rem;
    line-height: 1.35;
  }

  .site-body #boeken .mb-price-result li::before {
    content: '✓';
    color: #12B76A;
    font-weight: 900;
  }

  .site-body #boeken .mb-price-actions {
    grid-column: 2;
    align-self: end;
  }

  .site-body #boeken .mb-price-actions .btn {
    min-height: 56px;
    padding-left: 30px;
    padding-right: 30px;
    font-size: .88rem;
  }
}

/* Visual step 8: FAQ and footer only. */
@media (min-width: 992px) {
  .site-body #faq.mb-faq-section {
    padding-top: 56px;
    padding-bottom: 48px;
  }

  .site-body #faq .mb-faq-layout {
    width: min(calc(100% + 64px), calc(100vw - 32px));
    max-width: 1344px;
    margin-left: max(-32px, calc((100vw - 32px - 100%) / -2));
    margin-right: auto;
    grid-template-columns: minmax(0, 34fr) minmax(0, 66fr);
    gap: 26px;
    align-items: start;
  }

  .site-body #faq .mb-faq-card {
    align-self: start;
    top: 88px;
    height: auto;
    min-height: 0;
    padding: 34px;
    background: linear-gradient(135deg, rgba(6,7,9,.985), rgba(13,15,19,.95)), url('/holu-dashboard/assets/meubelbezorgd-hero.png') center/cover no-repeat;
  }

  .site-body #faq .mb-faq-card h2 {
    font-size: clamp(1.85rem, 2.45vw, 2.35rem);
    line-height: 1.06;
  }

  .site-body #faq .mb-faq-card p {
    font-size: .98rem;
    line-height: 1.5;
  }

  .site-body #faq .mb-faq-actions,
  .site-body #faq .mb-faq-card h2,
  .site-body #faq .mb-faq-card p {
    max-width: none;
  }

  .site-body #faq .mb-faq-card .btn {
    width: 100%;
    min-height: 54px;
    font-size: .8rem;
  }

  .site-body #faq .mb-faq-review {
    max-width: none;
  }

  .site-body #faq .mb-faq-bottom-cta {
    max-width: none;
  }

  .site-body #faq .mb-faq-phone {
    margin-top: 4px;
    font-size: 1rem;
    font-weight: 900;
  }

  .site-body #faq .mb-faq-phone i {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #fff;
    background: var(--mb-orange);
  }

  .site-body #faq .mb-faq {
    gap: 10px;
  }

  .site-body #faq .accordion-button {
    min-height: 64px;
    padding: 20px 24px;
    font-size: 1rem;
    line-height: 1.3;
  }

  .site-body #faq .accordion-body {
    padding: 0 24px 22px;
    font-size: .94rem;
    line-height: 1.58;
  }

  .site-body .mb-site-footer {
    min-height: 0;
  }

  .site-body .mb-footer-shell {
    padding-top: 28px;
    padding-left: 24px;
    padding-right: 24px;
    padding-bottom: 14px;
  }

  .site-body .mb-footer-grid {
    width: 100%;
    max-width: 1360px;
    grid-template-columns: minmax(310px, 1.2fr) minmax(170px, .75fr) minmax(300px, 1.05fr) minmax(330px, 1.12fr);
    gap: 30px;
    align-items: start;
  }

  .site-body .mb-footer-logo {
    width: 202px;
    margin-bottom: 9px;
  }

  .site-body .mb-footer-brand p {
    max-width: 330px;
    margin-bottom: 11px;
  }

  .site-body .mb-site-footer h4 {
    margin-bottom: 10px;
    font-size: .9rem;
  }

  .site-body .mb-site-footer nav {
    gap: 7px;
  }

  .site-body .mb-site-footer p,
  .site-body .mb-site-footer a,
  .site-body .mb-site-footer strong,
  .site-body .mb-site-footer span {
    font-size: .94rem;
    line-height: 1.42;
  }

  .site-body .mb-footer-action {
    justify-items: stretch;
    align-content: start;
  }

  .site-body .mb-footer-action .btn {
    width: 100%;
    max-width: none;
  }

  .site-body .mb-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: min(calc(100% - 48px), 1360px);
    max-width: 1360px;
    margin-top: 14px;
    padding-top: 10px;
    text-align: left;
  }

  .site-body .mb-footer-legal {
    margin-left: auto;
    justify-content: flex-end;
  }
}

@media (max-width: 767.98px) {
  .site-body .mb-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .site-body .mb-footer-legal {
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-left: 0;
  }
}

/* Visual step 9: responsive end check fixes only. */
.site-body #bezorggebied .mb-area-map {
  aspect-ratio: 820 / 760;
  object-fit: contain;
}

.site-body .btn-review-outline {
  font-size: .75rem;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .site-body .mb-footer-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  }

  .site-body .mb-footer-action .btn {
    max-width: 100%;
  }
}

@media (max-width: 991.98px) {
  .site-body #bezorggebied .mb-area-visual {
    min-height: 320px;
  }

  .site-body #bezorggebied .mb-area-map {
    width: 100%;
    height: auto;
  }
}

@media (max-width: 575.98px) {
  .site-body #bezorggebied .mb-area-visual {
    min-height: 250px;
  }
}

/* Service area compact UI refresh. */
.site-body #bezorggebied.mb-area-section {
  padding-top: 46px;
  padding-bottom: 42px;
  background: linear-gradient(90deg, #fff 0%, #F8FAFC 100%);
}

.site-body #bezorggebied .mb-area-grid {
  min-height: 0;
  align-items: center;
}

.site-body #bezorggebied .mb-area-copy h2 {
  max-width: 460px;
  margin-bottom: 10px;
}

.site-body #bezorggebied .mb-area-copy p {
  max-width: 430px;
}

.site-body #bezorggebied .mb-province-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  max-width: 470px;
  margin: 20px 0 22px;
}

.site-body #bezorggebied .mb-province-list span {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  border: 1px solid #E7EAEE;
  border-radius: 999px;
  padding: 0 14px;
  color: #344054;
  background: linear-gradient(180deg, #fff 0%, #F8FAFC 100%);
  font-size: .84rem;
  font-weight: 900;
  box-shadow: 0 8px 20px rgba(16,24,40,.04);
}

.site-body #bezorggebied .mb-province-list span::before {
  content: '';
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  margin-right: 9px;
  border-radius: 50%;
  background: var(--mb-orange);
  box-shadow: 0 0 0 4px rgba(235,86,2,.1);
}

.site-body #bezorggebied .mb-area-map-card {
  position: relative;
  display: grid;
  place-items: center;
  width: min(100%, 560px);
  min-height: 380px;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.site-body #bezorggebied .mb-area-map {
  width: 100%;
  max-width: 430px;
  max-height: 380px;
  transform: none;
}

@media (min-width: 992px) {
  .site-body #bezorggebied .mb-area-grid {
    width: min(100%, 1180px);
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    gap: 28px;
    margin-left: auto;
    margin-right: auto;
  }

  .site-body #bezorggebied .mb-area-visual {
    justify-items: end;
  }

  .site-body #bezorggebied .mb-area-map-card {
    width: min(100%, 640px);
    min-height: 440px;
  }

  .site-body #bezorggebied .mb-area-map {
    max-width: 520px;
    max-height: 450px;
  }

  .site-body #bezorggebied .btn-holu-orange {
    min-width: 300px;
  }
}

@media (max-width: 991.98px) {
  .site-body #bezorggebied .mb-area-grid {
    gap: 24px;
  }

  .site-body #bezorggebied .mb-province-list {
    max-width: 100%;
  }

  .site-body #bezorggebied .mb-area-visual {
    min-height: 0;
  }

  .site-body #bezorggebied .mb-area-map-card {
    width: 100%;
    min-height: 330px;
  }
}

@media (max-width: 575.98px) {
  .site-body .hero-eyebrow,
  .site-body .hero-trust .trust-chip {
    font-size: .7rem;
  }

  .site-body #bezorggebied.mb-area-section {
    padding-top: 36px;
    padding-bottom: 36px;
  }

  .site-body #bezorggebied .mb-province-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 18px 0 20px;
  }

  .site-body #bezorggebied .mb-province-list span {
    min-height: 38px;
    padding: 0 11px;
    font-size: .76rem;
  }

  .site-body #bezorggebied .btn-holu-orange {
    min-height: 54px;
    font-size: .72rem;
    white-space: nowrap;
  }

  .site-body #bezorggebied .mb-area-map-card {
    min-height: 270px;
  }

  .site-body #bezorggebied .mb-area-map {
    max-width: 295px;
    max-height: 275px;
  }
}

/* Anchor targets: keep section starts visible below the sticky navigation. */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

.site-body #calculator,
.site-body #zo-werkt-het,
.site-body #wat-bezorgen-we,
.site-body #bezorggebied,
.site-body #faq,
.site-body #contact {
  scroll-margin-top: 96px;
}

@media (max-width: 991.98px) {
  html { scroll-padding-top: 112px; }

  .site-body #calculator,
  .site-body #zo-werkt-het,
  .site-body #wat-bezorgen-we,
  .site-body #bezorggebied,
  .site-body #faq,
  .site-body #contact {
    scroll-margin-top: 112px;
  }
}

/* Booking module rebuild based on holu-dashboard/booking-module.html. */
.site-body #boeken .mb-booking-module {
  background: #F6F7F8;
}

.site-body #boeken .mb-progress-card {
  margin-bottom: 16px;
  border: 1px solid #E7E9EE;
  border-radius: 14px;
  padding: 12px 16px;
  background: #fff;
  box-shadow: 0 12px 35px rgba(16,24,40,.07);
}

.site-body #boeken .mb-progress-steps {
  display: flex;
  align-items: center;
  gap: 10px;
}

.site-body #boeken .mb-progress-steps i {
  flex: 1 1 auto;
  height: 1px;
  background: #E4E7EC;
}

.site-body #boeken .mb-progress-steps button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  padding: 0;
  color: #667085;
  background: transparent;
  font-size: .78rem;
  font-weight: 900;
}

.site-body #boeken .mb-progress-steps span {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid #DFE3E8;
  border-radius: 50%;
  background: #fff;
  color: #667085;
  font-size: .74rem;
}

.site-body #boeken .mb-progress-steps button.active span {
  border-color: var(--mb-orange);
  color: #fff;
  background: var(--mb-orange);
}

.site-body #boeken .mb-progress-steps button.done span {
  border-color: var(--mb-orange);
  color: var(--mb-orange);
  background: #FFF4ED;
}

.site-body #boeken .mb-route-module-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(238px, auto);
  gap: 16px;
  align-items: end;
}

.site-body #boeken .mb-route-box {
  display: grid;
  align-content: start;
}

.site-body #boeken .mb-route-box legend {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.site-body #boeken .mb-route-box legend span {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #fff;
  background: var(--mb-orange);
  font-size: .9rem;
}

.site-body #boeken .mb-route-calc {
  min-width: 238px;
  min-height: 56px;
  align-self: end;
  border-radius: 10px;
  white-space: nowrap;
}

.site-body #boeken .mb-route-promises {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 16px;
  color: #667085;
  font-size: .84rem;
  font-weight: 800;
}

.site-body #boeken .mb-route-promises i,
.site-body #boeken .mb-price-result li::before {
  color: #12A150;
}

.site-body #boeken .mb-price-panel {
  display: grid;
  align-content: center;
  border-radius: 14px;
  padding: clamp(24px, 3vw, 34px);
  color: #fff;
  background: #0D1117;
}

.site-body #boeken .mb-price-panel > span,
.site-body #boeken .mb-price-panel small {
  color: rgba(255,255,255,.72);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.site-body #boeken .mb-price-panel > strong {
  margin: 8px 0 4px;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(2.7rem, 5vw, 4rem);
  font-weight: 900;
  line-height: 1;
}

.site-body #boeken .mb-price-panel .btn {
  margin-top: 22px;
  min-height: 54px;
  border-radius: 10px;
}

.site-body #boeken .mb-price-result.is-manual {
  background: linear-gradient(135deg, #fff 0%, #FFF1E8 100%);
}

.site-body #boeken .mb-price-result.is-manual .mb-price-panel {
  background: #111827;
}

.site-body #boeken .mb-item-editor,
.site-body #boeken .mb-service-options {
  display: grid;
  grid-template-columns: minmax(160px, .55fr) minmax(220px, 1fr) minmax(260px, 1.1fr);
  gap: 16px;
  align-items: start;
  margin-top: 22px;
}

.site-body #boeken .mb-item-editor label span,
.site-body #boeken .mb-photo-upload span,
.site-body #boeken .mb-full-label span {
  color: #98A2B3;
  font-weight: 700;
}

.site-body #boeken .mb-photo-upload > strong {
  display: block;
  margin-bottom: 8px;
  color: #101828;
  font-size: .9rem;
  font-weight: 900;
}

.site-body #boeken .mb-photo-upload label {
  display: grid;
  place-items: center;
  min-height: 92px;
  border: 1px dashed #D0D5DD;
  border-radius: 14px;
  padding: 14px;
  color: #667085;
  background: #F8FAFC;
  text-align: center;
  cursor: pointer;
}

.site-body #boeken .mb-photo-upload input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.site-body #boeken .mb-photo-upload b {
  display: block;
  color: var(--mb-orange);
  font-weight: 900;
}

.site-body #boeken .mb-photo-upload small,
.site-body #boeken [data-photo-names] {
  display: block;
  margin-top: 4px;
  color: #667085;
  font-size: .78rem;
  font-weight: 700;
}

.site-body #boeken .mb-added-furniture {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-top: 22px;
  border: 1px solid #FEDF89;
  border-radius: 14px;
  padding: 18px;
  background: #FFF7ED;
}

.site-body #boeken .mb-added-furniture h3,
.site-body #boeken .mb-payment-choice h3 {
  margin: 0 0 4px;
  color: #101828;
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 900;
}

.site-body #boeken .mb-added-furniture p,
.site-body #boeken .mb-payment-choice p {
  margin: 0;
  color: #667085;
  font-size: .86rem;
  font-weight: 650;
}

.site-body #boeken .mb-added-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.site-body #boeken .mb-added-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #E4E7EC;
  border-radius: 12px;
  padding: 13px 15px;
  background: #fff;
}

.site-body #boeken .mb-added-item strong,
.site-body #boeken .mb-added-item span {
  display: block;
}

.site-body #boeken .mb-added-item span,
.site-body #boeken .mb-empty-items {
  margin: 2px 0 0;
  color: #667085;
  font-size: .82rem;
  font-weight: 650;
}

.site-body #boeken .mb-added-item button {
  border: 0;
  color: #B42318;
  background: transparent;
  font-size: .82rem;
  font-weight: 900;
}

.site-body #boeken .mb-address-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 22px 0;
}

.site-body #boeken .mb-situation-card,
.site-body #boeken .mb-address-detail-card {
  border: 1px solid #E4E7EC;
  border-radius: 14px;
  padding: clamp(18px, 2vw, 24px);
  background: #fff;
}

.site-body #boeken .mb-situation-card h3,
.site-body #boeken .mb-address-detail-card h3 {
  margin: 0 0 4px;
  color: #101828;
  font-family: 'Montserrat', sans-serif;
  font-size: 1.15rem;
  font-weight: 900;
}

.site-body #boeken .mb-situation-card p {
  margin: 0 0 16px;
  color: #667085;
  font-weight: 650;
}

.site-body #boeken .mb-service-options label {
  min-height: 92px;
  border: 1px solid #E4E7EC;
  border-radius: 14px;
  padding: 16px;
  background: #fff;
}

.site-body #boeken .mb-service-options label:has(input[type="checkbox"]) {
  display: flex;
  align-items: center;
  gap: 12px;
}

.site-body #boeken .mb-service-options b,
.site-body #boeken .mb-service-options small {
  display: block;
}

.site-body #boeken .mb-confirm-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: 24px;
  align-items: start;
}

.site-body #boeken .mb-confirm-price [data-confirm-breakdown] {
  display: grid;
  gap: 7px;
  margin-top: 16px;
}

.site-body #boeken .mb-confirm-price [data-confirm-breakdown] p,
.site-body #boeken .mb-success-summary p {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
  padding-bottom: 7px;
}

.site-body #boeken .mb-pickup-contact,
.site-body #boeken .mb-payment-choice {
  margin-top: 16px;
}

.site-body #boeken .mb-success-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin: 0 auto 18px;
  border-radius: 50%;
  color: #12A150;
  background: #ECFDF3;
  font-size: 1.8rem;
}

.site-body #boeken .mb-success-summary {
  display: grid;
  gap: 10px;
  max-width: 620px;
  margin: 24px auto;
  border: 1px solid #E4E7EC;
  border-radius: 14px;
  padding: 18px;
  text-align: left;
}

@media (max-width: 991.98px) {
  .site-body #boeken .mb-route-module-grid,
  .site-body #boeken .mb-item-editor,
  .site-body #boeken .mb-address-details-grid,
  .site-body #boeken .mb-service-options,
  .site-body #boeken .mb-confirm-layout {
    grid-template-columns: 1fr;
  }

  .site-body #boeken .mb-route-calc {
    width: 100%;
  }

  .site-body #boeken .mb-progress-steps strong {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .site-body #boeken .mb-progress-steps {
    gap: 5px;
  }

  .site-body #boeken .mb-progress-card {
    padding: 10px;
  }

  .site-body #boeken .mb-progress-steps span {
    width: 30px;
    height: 30px;
  }

  .site-body #boeken .mb-added-furniture,
  .site-body #boeken .mb-added-item {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .site-body #boeken .mb-added-furniture .btn,
  .site-body #boeken .mb-added-item button {
    width: 100%;
  }
}

/* Booking module final design tokens and component layer. */
.site-body #boeken {
  --booking-orange: #F15A00;
  --booking-orange-hover: #D94F00;
  --booking-orange-soft: #FFF4ED;
  --booking-orange-very-soft: #FFF8F4;
  --booking-dark: #0D1117;
  --booking-text: #101828;
  --booking-secondary: #475467;
  --booking-muted: #667085;
  --booking-light-muted: #98A2B3;
  --booking-border: #E4E7EC;
  --booking-light-border: #EAECF0;
  --booking-page: #F6F7F8;
  --booking-success: #12A150;
  --booking-success-soft: #ECFDF3;
  --booking-error: #D92D20;
  --booking-error-soft: #FEF3F2;
  color: var(--booking-text);
  background: var(--booking-page);
}

.site-body #boeken .container {
  width: calc(100% - 32px);
  max-width: 1180px;
  padding-left: 0;
  padding-right: 0;
}

.site-body #boeken .mb-section-head {
  display: grid;
  gap: 10px;
  max-width: 1180px;
  margin: 0 auto 28px;
  text-align: left;
}

.site-body #boeken .mb-section-head p {
  max-width: 520px;
  margin: 0;
  color: var(--booking-secondary);
  font-size: 1.02rem;
  font-weight: 700;
}

.site-body #boeken .mb-section-head h2 {
  color: var(--booking-text);
  max-width: 760px;
  margin: 0;
  font-size: clamp(1.95rem, 3.2vw, 2.75rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0;
}

.site-body #boeken .hero-eyebrow {
  color: var(--booking-orange);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.site-body #boeken .mb-booking-flow,
.site-body #boeken .mb-route-quote,
.site-body #boeken .mb-price-result,
.site-body #boeken .mb-booking-form,
.site-body #boeken .mb-booking-confirmed,
.site-body #boeken .mb-progress-card {
  border: 1px solid #E7E9EE;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 35px rgba(16, 24, 40, .07);
}

.site-body #boeken .mb-booking-flow {
  width: 100%;
  max-width: 1180px;
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.site-body #boeken .mb-route-quote,
.site-body #boeken .mb-price-result,
.site-body #boeken .mb-booking-form,
.site-body #boeken .mb-booking-confirmed {
  padding: 32px;
}

.site-body #boeken .mb-progress-card {
  padding: 12px 16px;
}

.site-body #boeken .mb-route-box,
.site-body #boeken .mb-situation-card,
.site-body #boeken .mb-service-options label,
.site-body #boeken .mb-confirm-grid > div,
.site-body #boeken .mb-payment-choice {
  border: 1px solid var(--booking-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
}

.site-body #boeken .mb-route-box legend,
.site-body #boeken .mb-wizard-panel legend {
  color: var(--booking-text);
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.02em;
}

.site-body #boeken .mb-route-box legend {
  font-size: 1.18rem;
  letter-spacing: 0;
}

.site-body #boeken .mb-route-box legend span {
  background: var(--booking-orange);
}

.site-body #boeken label,
.site-body #boeken .mb-route-fields label,
.site-body #boeken .mb-booking-form label {
  color: var(--booking-secondary);
  font-size: .82rem;
  font-weight: 800;
}

.site-body #boeken input,
.site-body #boeken select,
.site-body #boeken textarea {
  min-height: 54px;
  border: 1px solid #DFE3E8;
  border-radius: 10px;
  padding-left: 14px;
  padding-right: 14px;
  color: var(--booking-text);
  background: #fff;
  font-size: 16px;
  transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

.site-body #boeken textarea {
  min-height: 96px;
  padding: 12px 14px;
}

.site-body #boeken input:focus,
.site-body #boeken select:focus,
.site-body #boeken textarea:focus {
  border-color: var(--booking-orange);
  box-shadow: 0 0 0 3px rgba(241,90,0,.10);
  outline: 0;
}

.site-body #boeken .btn-holu-orange,
.site-body #boeken .booking-button-primary {
  min-height: 54px;
  border: 0;
  border-radius: 10px !important;
  padding-left: 24px;
  padding-right: 24px;
  color: #fff;
  background: var(--booking-orange);
  box-shadow: none;
  font-weight: 800;
  transition: background-color 150ms ease, transform 150ms ease;
}

.site-body #boeken .btn-holu-orange:hover,
.site-body #boeken .booking-button-primary:hover {
  background: var(--booking-orange-hover);
}

.site-body #boeken .btn-line,
.site-body #boeken .btn-link-clean {
  min-height: 54px;
  border: 1px solid #DFE3E8;
  border-radius: 10px;
  padding: 0 18px;
  color: #344054;
  background: #fff;
  font-weight: 800;
  text-decoration: none;
}

.site-body #boeken .mb-price-result {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 0;
  overflow: hidden;
  background: #fff;
}

.site-body #boeken .mb-price-copy {
  padding-right: 28px;
}

.site-body #boeken .mb-price-result h3 {
  color: var(--booking-text);
  font-size: clamp(1.75rem, 3vw, 2.6rem);
  line-height: 1.08;
  letter-spacing: -.02em;
}

.site-body #boeken .mb-price-result p,
.site-body #boeken .mb-step-sub,
.site-body #boeken .mb-route-promises,
.site-body #boeken .mb-added-furniture p,
.site-body #boeken .mb-payment-choice p {
  color: var(--booking-muted);
}

.site-body #boeken .mb-price-panel,
.site-body #boeken .mb-confirm-price {
  border-radius: 16px;
  color: #fff;
  background: var(--booking-dark);
}

.site-body #boeken .mb-price-panel > span,
.site-body #boeken .mb-confirm-price > span,
.site-body #boeken .mb-price-panel small {
  color: var(--booking-light-muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.site-body #boeken .mb-price-panel > strong,
.site-body #boeken .mb-confirm-price strong {
  color: #fff;
  font-size: clamp(2.65rem, 4.6vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -.04em;
  line-height: 1;
}

.site-body #boeken .mb-price-sticky {
  position: static;
  margin: 0 0 24px;
  border-bottom: 1px solid var(--booking-light-border);
  padding: 0 0 20px;
  color: var(--booking-secondary);
  background: transparent;
}

.site-body #boeken .mb-price-sticky span,
.site-body #boeken .mb-price-sticky small {
  display: block;
  color: var(--booking-muted);
  font-weight: 800;
}

.site-body #boeken .mb-price-sticky strong {
  color: var(--booking-orange);
  font-size: clamp(1.5rem, 2.4vw, 1.75rem);
  font-weight: 900;
}

.site-body #boeken .mb-choice-card,
.site-body #boeken .mb-date-card {
  border: 1px solid var(--booking-border);
  border-radius: 14px;
  padding: 16px;
  background: #fff;
  box-shadow: none;
  transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease, transform 150ms ease;
}

.site-body #boeken .mb-choice-card:hover,
.site-body #boeken .mb-date-card:hover {
  border-color: #F6A16D;
}

.site-body #boeken .mb-choice-card.selected,
.site-body #boeken .mb-date-card:has(input:checked) {
  border: 2px solid var(--booking-orange);
  background: var(--booking-orange-very-soft);
  box-shadow: 0 0 0 3px rgba(241,90,0,.06);
}

.site-body #boeken .mb-choice-card.selected i {
  display: grid;
  background: var(--booking-orange);
}

.site-body #boeken .mb-choice-card {
  min-height: 168px;
  text-align: left;
}

.site-body #boeken .mb-choice-card img {
  max-height: 86px;
  object-fit: contain;
  background: var(--booking-orange-very-soft);
}

.site-body #boeken .mb-choice-card small {
  display: block;
  margin-top: 4px;
  color: var(--booking-muted);
  font-size: .78rem;
  font-weight: 650;
}

.site-body #boeken .mb-progress-steps span {
  border-color: #DFE3E8;
  color: var(--booking-muted);
}

.site-body #boeken .mb-progress-steps button.active span {
  border-color: var(--booking-orange);
  background: var(--booking-orange);
}

.site-body #boeken .mb-progress-steps button.done span {
  border-color: var(--booking-orange);
  color: var(--booking-orange);
  background: var(--booking-orange-soft);
}

.site-body #boeken .mb-added-furniture {
  border: 1px solid #FFE0CC;
  border-radius: 16px;
  padding: 20px;
  background: var(--booking-orange-very-soft);
}

.site-body #boeken .mb-added-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  border-color: var(--booking-border);
  border-radius: 12px;
}

.site-body #boeken .mb-added-item aside {
  align-self: center;
  border-radius: 999px;
  padding: 7px 10px;
  color: var(--booking-orange);
  background: var(--booking-orange-soft);
  font-size: .75rem;
  font-weight: 900;
  white-space: nowrap;
}

.site-body #boeken .mb-manual-note,
.site-body #boeken .mb-date-fallback,
.site-body #boeken .mb-flow-message[data-type="warning"] {
  border: 1px solid #FED7AA;
  border-radius: 14px;
  color: #7C2D12;
  background: var(--booking-orange-soft);
}

.site-body #boeken .mb-manual-note strong::before {
  content: 'Persoonlijke prijscheck nodig';
  display: block;
  margin-bottom: 4px;
  color: #7C2D12;
}

.site-body #boeken [data-photo-names] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.site-body #boeken .mb-photo-thumb {
  position: relative;
  display: inline-block;
  width: 78px;
  height: 78px;
}

.site-body #boeken .mb-photo-thumb img {
  width: 100%;
  height: 100%;
  border: 1px solid var(--booking-border);
  border-radius: 10px;
  object-fit: cover;
}

.site-body #boeken .mb-photo-thumb button {
  position: absolute;
  top: -7px;
  right: -7px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: var(--booking-dark);
  box-shadow: 0 4px 10px rgba(16,24,40,.18);
}

.site-body #boeken .mb-photo-upload label:hover {
  border-color: var(--booking-orange);
}

.site-body #boeken .mb-success-icon.is-manual {
  color: var(--booking-orange);
  background: var(--booking-orange-soft);
}

.site-body #boeken .mb-booking-confirmed.is-manual {
  border-color: #FED7AA;
  background: #fff;
}

@media (prefers-reduced-motion: no-preference) {
  .site-body #boeken .mb-wizard-panel.active,
  .site-body #boeken .mb-price-result:not([hidden]),
  .site-body #boeken .mb-booking-confirmed:not([hidden]) {
    animation: mbBookingFade 180ms ease both;
  }
}

@keyframes mbBookingFade {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 991.98px) {
  .site-body #boeken .mb-route-quote,
  .site-body #boeken .mb-price-result,
  .site-body #boeken .mb-booking-form,
  .site-body #boeken .mb-booking-confirmed {
    padding: 24px;
  }

  .site-body #boeken .mb-price-copy {
    padding-right: 0;
  }
}

@media (max-width: 575.98px) {
  .site-body #boeken .container {
    width: calc(100% - 24px);
  }

  .site-body #boeken .mb-section-head {
    margin-bottom: 20px;
  }

  .site-body #boeken .mb-section-head p {
    font-size: .95rem;
  }

  .site-body #boeken .mb-section-head h2 {
    font-size: clamp(1.9rem, 8vw, 2.1rem);
  }

  .site-body #boeken .mb-route-calc {
    min-height: 56px;
    width: 100%;
  }

  .site-body #boeken .mb-route-quote,
  .site-body #boeken .mb-price-result,
  .site-body #boeken .mb-booking-form,
  .site-body #boeken .mb-booking-confirmed {
    padding: 20px;
  }

  .site-body #boeken .mb-furniture-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .site-body #boeken .mb-choice-card {
    min-height: 150px;
    padding: 12px;
  }

  .site-body #boeken .mb-choice-card img {
    max-height: 70px;
  }

  .site-body #boeken .mb-choice-card span {
    font-size: .82rem;
    line-height: 1.2;
  }

  .site-body #boeken .mb-choice-card small {
    font-size: .7rem;
  }

  .site-body #boeken .mb-date-options {
    grid-template-columns: 1fr;
  }

  .site-body #boeken .btn-holu-orange,
  .site-body #boeken .btn-line,
  .site-body #boeken .btn-link-clean {
    width: 100%;
  }

  .site-body #boeken .mb-added-item {
    grid-template-columns: 1fr;
  }

  .site-body #boeken .mb-success-summary p {
    flex-direction: column;
    gap: 3px;
  }

  .site-body #boeken .mb-success-summary strong {
    overflow-wrap: anywhere;
  }
}

/* Final booking-module alignment guard. */
.site-body #boeken .mb-section-head {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

.site-body #boeken .mb-section-head h2,
.site-body #boeken .mb-section-head p {
  margin-left: 0;
  margin-right: 0;
}

.site-body #boeken .mb-route-calc {
  min-height: 56px;
  height: auto;
  align-self: end;
  margin-bottom: 25px;
}

.site-body #boeken .mb-route-fields {
  grid-template-columns: minmax(0, 1.25fr) minmax(72px, .6fr) minmax(88px, .7fr);
  min-width: 0;
}

.site-body #boeken .mb-route-fields label,
.site-body #boeken .mb-route-fields input {
  min-width: 0;
}

@media (max-width: 575.98px) {
  .site-body #boeken .mb-route-box {
    min-height: 0;
    aspect-ratio: auto;
  }

  .site-body #boeken .mb-route-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-body #boeken .mb-route-fields label:first-child {
    grid-column: 1 / -1;
  }

  .site-body #boeken .mb-route-calc {
    margin-bottom: 0;
  }
}

  .site-body #boeken .mb-price-result {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 28px;
    align-items: stretch;
    margin-top: 18px;
    border: 1px solid var(--booking-border);
    border-radius: 22px;
    padding: 30px;
    background: linear-gradient(135deg, #fff 0%, #fff 64%, var(--booking-orange-very-soft) 100%);
    box-shadow: 0 18px 45px rgba(16, 24, 40, .08);
  }

  .site-body #boeken .mb-price-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding-right: 0;
  }

  .site-body #boeken .mb-price-result h3 {
    max-width: 720px;
    margin: 8px 0 10px;
  }

  .site-body #boeken .mb-price-result p {
    max-width: 640px;
    margin-bottom: 18px;
  }

  .site-body #boeken .mb-price-result ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px;
    margin: 0 0 22px;
    padding: 0;
  }

  .site-body #boeken .mb-price-result li {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    color: var(--booking-secondary);
    font-size: .94rem;
    font-weight: 800;
    line-height: 1.35;
  }

  .site-body #boeken .mb-price-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 300px;
    padding: 28px;
    box-shadow: 0 20px 40px rgba(10, 21, 47, .22);
  }

  .site-body #boeken .mb-price-panel > strong {
    margin: 10px 0 8px;
  }

  .site-body #boeken .mb-price-details {
    margin-top: 18px;
    border-top: 1px solid rgba(255,255,255,.16);
    padding-top: 16px;
  }

  .site-body #boeken .mb-price-panel .btn {
    width: 100%;
    margin-top: 22px;
    min-height: 56px;
    justify-content: center;
  }

  .site-body #boeken .mb-price-copy .btn-link-clean {
    align-self: flex-start;
    min-height: 44px;
    border-radius: 999px;
    padding: 0 16px;
    background: #fff;
  }

  @media (max-width: 991.98px) {
    .site-body #boeken .mb-price-result {
      grid-template-columns: 1fr;
      gap: 20px;
      padding: 24px;
    }

    .site-body #boeken .mb-price-panel {
      min-height: 0;
    }
  }

  @media (max-width: 575.98px) {
    .site-body #boeken .mb-price-result {
      margin-top: 14px;
      border-radius: 18px;
      padding: 18px;
    }

    .site-body #boeken .mb-price-result h3 {
      font-size: clamp(1.55rem, 8vw, 1.9rem);
    }

    .site-body #boeken .mb-price-result ul {
      grid-template-columns: 1fr;
      gap: 9px;
      margin-bottom: 18px;
    }

    .site-body #boeken .mb-price-panel {
      border-radius: 16px;
      padding: 22px;
    }
  }

  /* Booking wizard step 2 polish. */
  .site-body #boeken .mb-wizard-panel[data-step="2"] legend {
    max-width: 680px;
    margin-bottom: 8px;
  }

  .site-body #boeken .mb-wizard-panel[data-step="2"] .mb-step-sub {
    max-width: 560px;
    margin-bottom: 24px;
  }

  .site-body #boeken .mb-situation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 0 0 20px;
  }

  .site-body #boeken .mb-situation-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 22px;
    background: linear-gradient(180deg, #fff 0%, #FFFDFC 100%);
  }

  .site-body #boeken .mb-situation-card h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: -4px;
  }

  .site-body #boeken .mb-situation-card h3::before {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #fff;
    background: var(--booking-orange);
    font-size: .84rem;
    font-weight: 900;
  }

  .site-body #boeken .mb-situation-card:first-child h3::before {
    content: 'A';
  }

  .site-body #boeken .mb-situation-card:nth-child(2) h3::before {
    content: 'B';
  }

  .site-body #boeken .mb-situation-card p {
    margin: 0 0 2px;
    border-bottom: 1px solid var(--booking-light-border);
    padding: 0 0 14px 44px;
    color: var(--booking-muted);
    font-size: .9rem;
    font-weight: 750;
  }

  .site-body #boeken .mb-situation-address-fields {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(92px, .55fr) minmax(105px, .6fr) minmax(0, 1fr);
    gap: 12px;
    margin: 2px 0 4px;
  }

  .site-body #boeken .mb-situation-card label,
  .site-body #boeken .mb-full-label {
    display: grid;
    gap: 8px;
  }

  .site-body #boeken .mb-situation-address-fields label {
    min-width: 0;
  }

  .site-body #boeken .mb-situation-address-fields input {
    width: 100%;
    min-width: 0;
  }

  .site-body #boeken .mb-situation-card select,
  .site-body #boeken .mb-service-options select,
  .site-body #boeken .mb-full-label textarea {
    width: 100%;
  }

  .site-body #boeken .mb-service-options {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 14px;
    margin: 6px 0 18px;
  }

  .site-body #boeken .mb-service-options label {
    min-height: 116px;
    padding: 16px;
    transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
  }

  .site-body #boeken .mb-service-options label:hover {
    border-color: #F6A16D;
    box-shadow: 0 10px 24px rgba(16, 24, 40, .06);
  }

  .site-body #boeken .mb-service-options label:has(input[type="checkbox"]) {
    align-items: flex-start;
  }

  .site-body #boeken .mb-service-options input[type="checkbox"] {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    min-height: 20px;
    margin-top: 2px;
    accent-color: var(--booking-orange);
  }

  .site-body #boeken .mb-service-options b {
    color: var(--booking-text);
    font-size: .95rem;
    line-height: 1.25;
  }

  .site-body #boeken .mb-service-options small {
    margin-top: 5px;
    color: var(--booking-muted);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.35;
  }

  .site-body #boeken .mb-wizard-panel[data-step="2"] .mb-manual-note {
    margin: 4px 0 18px;
    padding: 16px 18px;
  }

  .site-body #boeken .mb-wizard-panel[data-step="2"] .mb-full-label {
    margin-top: 2px;
    border: 1px solid var(--booking-border);
    border-radius: 14px;
    padding: 18px;
    background: #fff;
  }

  .site-body #boeken .mb-wizard-panel[data-step="2"] textarea {
    min-height: 112px;
    resize: vertical;
  }

  @media (max-width: 991.98px) {
    .site-body #boeken .mb-situation-grid,
    .site-body #boeken .mb-service-options {
      grid-template-columns: 1fr;
    }

    .site-body #boeken .mb-service-options label {
      min-height: 0;
    }
  }

  @media (max-width: 575.98px) {
    .site-body #boeken .mb-situation-card {
      padding: 18px;
    }

    .site-body #boeken .mb-situation-card p {
      padding-left: 0;
    }

    .site-body #boeken .mb-service-options,
    .site-body #boeken .mb-situation-grid {
      gap: 12px;
    }

    .site-body #boeken .mb-situation-address-fields {
      grid-template-columns: 1fr;
    }
  }

  /* Booking optional-label polish. */
  .site-body #boeken .mb-item-editor label,
  .site-body #boeken .mb-full-label,
  .site-body #boeken .mb-photo-upload > strong {
    position: relative;
  }

  .site-body #boeken .mb-item-editor label span,
  .site-body #boeken .mb-photo-upload > strong span,
  .site-body #boeken .mb-full-label > span {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    min-height: 22px;
    width: max-content;
    margin-left: 8px;
    border: 1px solid #EAECF0;
    border-radius: 999px;
    padding: 2px 8px;
    color: var(--booking-muted);
    background: #F9FAFB;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
    vertical-align: 1px;
    white-space: nowrap;
  }

  .site-body #boeken .mb-photo-upload > strong span {
    margin-left: 6px;
  }

  .site-body #boeken .mb-item-editor label input,
  .site-body #boeken .mb-item-editor label select,
  .site-body #boeken .mb-full-label textarea {
    margin-top: 8px;
  }

  .site-body #boeken .mb-item-editor .mb-field-label {
    display: flex;
    align-items: center;
    width: auto;
    min-height: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    padding: 0;
    color: var(--booking-secondary);
    background: transparent;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: none;
  }

  .site-body #boeken .mb-item-editor .mb-field-label em {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    margin-left: 8px;
    border: 1px solid #EAECF0;
    border-radius: 999px;
    padding: 2px 8px;
    color: var(--booking-muted);
    background: #F9FAFB;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
  }

  @media (max-width: 575.98px) {
    .site-body #boeken .mb-item-editor label span,
    .site-body #boeken .mb-photo-upload > strong span,
    .site-body #boeken .mb-full-label > span {
      min-height: 20px;
      padding: 2px 7px;
      font-size: 10px;
    }

    .site-body #boeken .mb-item-editor .mb-field-label em {
      min-height: 20px;
      padding: 2px 7px;
      font-size: 10px;
    }
  }

  /* Booking wizard step 5 polish. */
  .site-body #boeken .mb-wizard-panel[data-step="5"] legend {
    margin-bottom: 8px;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] > .mb-step-sub {
    max-width: 640px;
    margin-bottom: 22px;
    color: var(--booking-secondary);
    font-weight: 750;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-layout {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    gap: 22px;
    align-items: start;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-grid > div {
    position: relative;
    min-height: 132px;
    border: 1px solid var(--booking-border);
    border-radius: 16px;
    padding: 18px 18px 18px 58px;
    background: linear-gradient(180deg, #fff 0%, #FCFCFD 100%);
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-grid > div::before {
    position: absolute;
    top: 18px;
    left: 18px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: var(--booking-orange);
    background: var(--booking-orange-soft);
    font-family: bootstrap-icons;
    font-size: .92rem;
    line-height: 1;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-grid > div:nth-child(1)::before { content: '\F3E8'; }
  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-grid > div:nth-child(2)::before { content: '\F1C7'; }
  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-grid > div:nth-child(3)::before { content: '\F5D2'; }
  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-grid > div:nth-child(4)::before { content: '\F1E1'; }
  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-grid > div:nth-child(5)::before { content: '\F4E1'; }
  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-grid > div:nth-child(6)::before { content: '\F4D7'; }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-grid h3 {
    margin: 0 0 8px;
    color: var(--booking-text);
    font-size: .88rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-grid p {
    display: grid;
    gap: 8px;
    margin: 0;
    color: var(--booking-secondary);
    font-size: .94rem;
    font-weight: 750;
    line-height: 1.45;
    overflow-wrap: anywhere;
    white-space: pre-line;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-line {
    display: block;
    min-width: 0;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-line + .mb-confirm-line {
    padding-top: 8px;
    border-top: 1px solid rgba(16, 24, 40, .08);
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-line b,
  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-line em {
    display: block;
    font-style: normal;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-line b {
    margin-bottom: 2px;
    color: var(--booking-muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-line em {
    color: var(--booking-text);
    font-weight: 850;
    overflow-wrap: anywhere;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-price {
    position: sticky;
    top: 20px;
    display: flex;
    flex-direction: column;
    min-height: 0;
    border: 0;
    border-radius: 18px;
    padding: 26px;
    background: radial-gradient(circle at top right, rgba(241,90,0,.26), transparent 34%), var(--booking-dark);
    box-shadow: 0 22px 44px rgba(10, 21, 47, .24);
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-price strong {
    margin: 10px 0 6px;
    font-size: clamp(1.75rem, 2.8vw, 2.2rem);
    letter-spacing: 0;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-price > small {
    display: block;
    color: rgba(255,255,255,.78);
    font-weight: 800;
    line-height: 1.35;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-price ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 14px;
    margin: 18px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid rgba(255,255,255,.14);
    list-style: none;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-price li {
    position: relative;
    padding-left: 18px;
    color: rgba(255,255,255,.78);
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.35;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-price li::before {
    content: '';
    position: absolute;
    top: .48em;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--booking-orange);
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-breakdown {
    margin-top: 18px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    padding: 14px;
    background: rgba(255,255,255,.06);
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-breakdown-list {
    display: grid;
    gap: 0;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-breakdown p {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
    padding: 9px 0;
    color: rgba(255,255,255,.82);
    font-size: .86rem;
    font-weight: 750;
    line-height: 1.35;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-breakdown p:first-child {
    padding-top: 0;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-breakdown p:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-breakdown strong {
    margin: 0;
    color: #fff;
    font-family: inherit;
    font-size: .9rem;
    font-weight: 900;
    letter-spacing: 0;
    white-space: nowrap;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-breakdown .is-total {
    margin-top: 2px;
    color: #fff;
    font-size: .96rem;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-breakdown .is-total strong {
    color: var(--booking-orange);
    font-size: 1rem;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-breakdown-note {
    border-bottom: 0;
    padding: 0;
  }

  .site-body #boeken .mb-booking-confirmed {
    display: grid;
    gap: 22px;
    color: var(--booking-text);
    background: #fff;
  }

  .site-body #boeken .mb-booking-confirmed-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: start;
  }

  .site-body #boeken .mb-booking-confirmed-header .mb-success-icon {
    margin: 2px 0 0;
    width: 54px;
    height: 54px;
    font-size: 1.35rem;
  }

  .site-body #boeken .mb-booking-confirmed h3 {
    margin: 5px 0 8px;
    color: var(--booking-text);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: 850;
    line-height: 1.12;
    letter-spacing: 0;
  }

  .site-body #boeken .mb-booking-confirmed p {
    margin: 0;
    color: var(--booking-secondary);
    font-size: .93rem;
    font-weight: 650;
    line-height: 1.55;
  }

  .site-body #boeken .mb-booking-confirmed p > strong {
    display: inline;
    color: var(--booking-text);
    font-family: inherit;
    font-size: inherit;
    font-weight: 900;
    letter-spacing: 0;
    line-height: inherit;
  }

  .site-body #boeken .mb-booking-confirmed .mb-success-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    max-width: none;
    margin: 0;
    border: 1px solid var(--booking-border);
    border-radius: 16px;
    padding: 14px;
    background: #FCFCFD;
  }

  .site-body #boeken .mb-booking-confirmed .mb-success-summary p {
    display: grid;
    gap: 5px;
    border: 0;
    border-right: 1px solid var(--booking-light-border);
    padding: 0 14px 0 0;
  }

  .site-body #boeken .mb-booking-confirmed .mb-success-summary p:last-child {
    border-right: 0;
    padding-right: 0;
  }

  .site-body #boeken .mb-booking-confirmed .mb-success-summary span {
    color: var(--booking-muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .site-body #boeken .mb-booking-confirmed .mb-success-summary strong {
    display: block;
    color: var(--booking-text);
    font-family: inherit;
    font-size: .98rem;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: 0;
  }

  .site-body #boeken .mb-booking-confirmed .mb-success-note {
    border-left: 3px solid var(--booking-orange);
    padding-left: 14px;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-payment-choice {
    margin-top: 22px;
    border-radius: 16px;
    padding: 20px;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-payment-options {
    gap: 14px;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-payment-card {
    min-height: 104px;
    border-width: 1px;
    border-radius: 14px;
    padding: 16px;
    background: #fff;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-payment-card:has(input:checked) {
    border-color: var(--booking-orange);
    background: var(--booking-orange-very-soft);
    box-shadow: 0 0 0 3px rgba(241,90,0,.07);
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-check {
    align-items: flex-start;
    border: 1px solid var(--booking-border);
    border-radius: 14px;
    padding: 16px;
    color: var(--booking-secondary);
    background: #fff;
    font-weight: 750;
    line-height: 1.45;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-check input {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    min-height: 20px;
    margin-top: 1px;
    accent-color: var(--booking-orange);
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-wizard-actions {
    margin-top: 20px;
    align-items: center;
  }

  .site-body #boeken .mb-wizard-panel[data-step="5"] [data-submit-booking] {
    min-height: 58px;
    padding-inline: 28px;
    font-size: .98rem;
    box-shadow: 0 16px 30px rgba(241, 90, 0, .24);
  }

  @media (max-width: 991.98px) {
    .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-layout,
    .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-grid,
    .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-payment-options {
      grid-template-columns: 1fr;
    }

    .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-price {
      position: static;
    }
  }

  @media (max-width: 575.98px) {
    .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-grid > div {
      min-height: 0;
      padding: 16px 16px 16px 54px;
    }

    .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-price {
      padding: 22px;
    }

    .site-body #boeken .mb-wizard-panel[data-step="5"] .mb-confirm-price ul {
      grid-template-columns: 1fr;
    }

    .site-body #boeken .mb-booking-confirmed-header,
    .site-body #boeken .mb-booking-confirmed .mb-success-summary {
      grid-template-columns: 1fr;
    }

    .site-body #boeken .mb-booking-confirmed .mb-success-summary p {
      border-right: 0;
      border-bottom: 1px solid var(--booking-light-border);
      padding: 0 0 10px;
    }

    .site-body #boeken .mb-booking-confirmed .mb-success-summary p:last-child {
      border-bottom: 0;
      padding-bottom: 0;
    }
  }