/* MontageZeker premium theme
   Alleen visuele presentatie: inhoud, links en SEO-markup blijven ongewijzigd. */
:root {
  --mz-ink: #0d1b2a;
  --mz-navy: #132b43;
  --mz-blue: #315b7d;
  --mz-cream: #f6f3ed;
  --mz-paper: #fcfbf8;
  --mz-wood: #b47b48;
  --mz-green: #188656;
  --mz-line: #ddd8cf;
  --mz-muted: #66717e;
  --mz-shadow: 0 24px 65px rgba(13, 27, 42, .10);
  --mz-shadow-soft: 0 13px 38px rgba(13, 27, 42, .075);
}

html { scroll-padding-top: 82px; }
body {
  background: var(--mz-paper) !important;
  color: var(--mz-ink) !important;
  -webkit-font-smoothing: antialiased;
}
::selection { background: #e7d8c8; color: var(--mz-ink); }

/* Navigatie */
header {
  background: rgba(252, 251, 248, .95) !important;
  border-color: rgba(13, 27, 42, .10) !important;
  box-shadow: 0 8px 35px rgba(13, 27, 42, .055) !important;
}
header .max-w-7xl { max-width: 1320px; }
header img {
  border-radius: .65rem;
  box-shadow: 0 5px 18px rgba(13, 27, 42, .12);
}
header span.text-2xl {
  color: var(--mz-ink) !important;
  letter-spacing: -.045em;
}
header nav > a:not(.bg-whatsapp) {
  color: #394655 !important;
  font-size: .91rem;
}
header nav > a:not(.bg-whatsapp):hover { color: var(--mz-blue) !important; }
header .bg-whatsapp,
#mobile-menu .bg-whatsapp {
  border-radius: .7rem !important;
  box-shadow: none !important;
}
#mobile-menu {
  background: var(--mz-paper) !important;
  border-color: var(--mz-line) !important;
}

/* Algemene typografie en secties */
main h1, main h2, main h3,
section h1, section h2, section h3 {
  color: var(--mz-ink);
  letter-spacing: -.025em;
}
main h2, section h2 { letter-spacing: -.035em; }
main p, section p, article p, main li, section li { line-height: 1.72; }
.text-indigo-600, .text-indigo-700, .text-indigo-800, .text-indigo-900 {
  color: var(--mz-blue) !important;
}
.bg-indigo-600, .bg-indigo-700, .bg-indigo-800, .bg-indigo-900 {
  background-color: var(--mz-navy) !important;
}
.hover\:bg-indigo-700:hover, .hover\:bg-indigo-800:hover { background-color: #091625 !important; }
.bg-slate-50 { background-color: var(--mz-paper) !important; }
.bg-slate-100 { background-color: var(--mz-cream) !important; }
.bg-indigo-50 { background-color: #f0ece5 !important; }
.border-slate-100, .border-slate-200, .border-indigo-100 { border-color: var(--mz-line) !important; }

/* Hero: warm, rustig en ambachtelijk */
.hero-section {
  color: var(--mz-ink) !important;
  background:
    radial-gradient(circle at 89% 15%, rgba(180, 123, 72, .13), transparent 22rem),
    linear-gradient(110deg, #f3efe7 0%, #fbfaf7 52%, #f5f1ea 100%) !important;
  border-bottom: 1px solid var(--mz-line);
  overflow: hidden;
}
.hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .28;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(13, 27, 42, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13, 27, 42, .06) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to bottom, black, transparent 82%);
}
.hero-section h1,
.hero-section h1 .text-indigo-300,
.hero-section .text-white:not(a):not(button),
.hero-section .text-slate-100,
.hero-section .text-slate-200,
.hero-section .text-slate-200\/90,
.hero-section .text-slate-300 {
  color: var(--mz-ink) !important;
  text-shadow: none !important;
}
.hero-section p, .hero-section li { text-shadow: none !important; }
.hero-section p { color: #53606d !important; }
.hero-section .text-indigo-300 { color: var(--mz-blue) !important; }
.hero-section .text-emerald-100,
.hero-section .text-emerald-200,
.hero-section .text-emerald-300,
.hero-section .text-emerald-400,
.hero-section .text-whatsapp { color: var(--mz-green) !important; }
.hero-section .bg-white\/10,
.hero-section .bg-white\/15,
.hero-section .bg-indigo-900\/50,
.hero-section .bg-slate-900\/80 {
  background: rgba(255, 255, 255, .52) !important;
  border-color: rgba(13, 27, 42, .13) !important;
}
.hero-section .border-white\/10,
.hero-section .border-white\/15,
.hero-section .border-white\/20,
.hero-section .border-indigo-300\/30 { border-color: rgba(13, 27, 42, .13) !important; }
.hero-section a.bg-white,
.hero-section a.bg-indigo-600,
.hero-section a.bg-indigo-700,
.hero-section a.bg-\[\#4338ca\] {
  color: #fff !important;
  background: var(--mz-ink) !important;
  border-radius: .7rem !important;
  box-shadow: 0 12px 28px rgba(13, 27, 42, .18) !important;
}
.hero-section a.bg-white:hover,
.hero-section a.bg-indigo-600:hover,
.hero-section a.bg-indigo-700:hover,
.hero-section a.bg-\[\#4338ca\]:hover { background: #07121e !important; }
.hero-section a.bg-whatsapp { color: #fff !important; border-radius: .7rem !important; }
.hero-section .rounded-full { border-radius: .6rem !important; }

/* Bestaande fotostapels worden één rustig premium beeld */
.hero-section .mz-hero-stack {
  max-width: 650px !important;
  aspect-ratio: 5 / 4 !important;
  padding: 0 !important;
}
.hero-section .mz-hero-stack .mz-card.mz-back,
.hero-section .mz-hero-stack .mz-card.mz-mid { display: none !important; }
.hero-section .mz-hero-stack .mz-card.mz-front {
  inset: 0 !important;
  transform: none !important;
  border: 0 !important;
  border-radius: .85rem !important;
  box-shadow: 0 32px 75px rgba(13, 27, 42, .20) !important;
  animation: none !important;
}
.hero-section .mz-hero-stack .mz-card.mz-front::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(13, 27, 42, .13), transparent 48%);
  pointer-events: none;
}
.hero-section .mz-hero-stack img { object-fit: cover; }

/* Premium kaarten en contentblokken */
main .rounded-2xl, main .rounded-3xl,
section .rounded-2xl, section .rounded-3xl {
  border-radius: .78rem !important;
}
main .shadow, main .shadow-sm, main .shadow-lg, main .shadow-xl, main .shadow-2xl,
section .shadow, section .shadow-sm, section .shadow-lg, section .shadow-xl, section .shadow-2xl {
  box-shadow: var(--mz-shadow-soft) !important;
}
main .bg-white.border, section .bg-white.border,
main details, section details {
  border-color: var(--mz-line) !important;
}
main details, section details { background: #fff; }
main details:hover, section details:hover,
main details[open], section details[open] { background: #f8f6f2 !important; }
main details summary, section details summary { color: var(--mz-ink); }

/* CTA- en informatieblokken */
main a.rounded-full, section a.rounded-full { border-radius: .65rem !important; }
main a.bg-indigo-600, section a.bg-indigo-600,
main button.bg-indigo-600, section button.bg-indigo-600 {
  background: var(--mz-ink) !important;
}
main a.bg-indigo-600:hover, section a.bg-indigo-600:hover,
main button.bg-indigo-600:hover, section button.bg-indigo-600:hover { background: #07121e !important; }
[data-v3-local-block="true"] {
  background: linear-gradient(100deg, #f2eee7, #fff 72%) !important;
  border-color: var(--mz-line) !important;
  border-left: 4px solid var(--mz-wood) !important;
}
[data-mz-business-block="true"],
.mz-business-block {
  background: linear-gradient(100deg, #eef3f6, #fff 72%) !important;
  border-color: var(--mz-line) !important;
}

/* Formulieren */
input, select, textarea {
  border-color: #d8d3cb !important;
  border-radius: .55rem !important;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--mz-blue) !important;
  box-shadow: 0 0 0 3px rgba(49, 91, 125, .12) !important;
}
#prijzen-calculator aside,
#mz-calculator + aside {
  background: var(--mz-ink) !important;
  color: #fff !important;
  border-radius: .8rem !important;
  box-shadow: 0 25px 60px rgba(13, 27, 42, .22) !important;
}
#prijzen-calculator aside h2,
#prijzen-calculator aside h3,
#prijzen-calculator aside strong,
#prijzen-calculator aside .text-white,
#mz-calculator + aside h2,
#mz-calculator + aside h3,
#mz-calculator + aside strong { color: #fff !important; }
#prijzen-calculator aside p,
#prijzen-calculator aside .text-slate-300,
#prijzen-calculator aside .text-slate-400,
#mz-calculator + aside p { color: #cbd5df !important; }
#calc-whatsapp-text {
  background: #10283a !important;
  border-color: rgba(52, 211, 153, .45) !important;
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
  caret-color: #6ee7b7 !important;
  opacity: 1 !important;
}
#calc-whatsapp-text::placeholder {
  color: #cbd5e1 !important;
  -webkit-text-fill-color: #cbd5e1 !important;
  opacity: .82 !important;
}

/* Footer en cookiebanner */
footer {
  background: var(--mz-ink) !important;
  border-color: #22364a !important;
}
footer .text-indigo-400 { color: #c69465 !important; }
footer .bg-indigo-900 { background: #21364a !important; }
.mz-cc-inner {
  background: var(--mz-ink) !important;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: .8rem !important;
}

@media (max-width: 1023px) {
  header nav { gap: 1rem !important; }
}

@media (max-width: 768px) {
  html { scroll-padding-top: 74px; }
  body { padding-bottom: 5.75rem; }
  .hero-section {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
    background: linear-gradient(155deg, #f3efe7 0%, #fbfaf7 100%) !important;
  }
  .hero-section h1 { font-size: 2.35rem !important; line-height: 1.06 !important; }
  .hero-section .mz-hero-stack { aspect-ratio: 4 / 3 !important; }
  #over-mij-hero .hidden.md\:block {
    display: block !important;
    margin-top: 2rem;
  }
  main p, section p, article p, main li, section li { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* V12 — één premium ontwerpsysteem voor alle pagina's
   De homepage is de visuele bron: warm papier, donker inktblauw,
   subtiele houtaccenten, rustige randen en redactionele typografie. */
.mz-page {
  --mz-section-space: clamp(4.7rem, 7vw, 7rem);
  background: var(--mz-paper) !important;
}
.mz-page:not(.mz-page-home) .hero-section {
  position: relative;
  min-height: 0 !important;
  padding: clamp(4.5rem, 7vw, 6.5rem) 0 clamp(4rem, 6vw, 5.5rem) !important;
  background:
    radial-gradient(circle at 88% 14%, rgba(180,123,72,.14), transparent 23rem),
    linear-gradient(110deg,#f3efe7 0%,#fbfaf7 54%,#f5f1ea 100%) !important;
}
.mz-page:not(.mz-page-home) .hero-section > div[class*="max-w-"] {
  width: 100%;
  max-width: 1320px !important;
}
.mz-page:not(.mz-page-home) .hero-section h1 {
  max-width: 820px;
  margin-bottom: 1.35rem !important;
  color: var(--mz-ink) !important;
  font-size: clamp(2.7rem, 4.7vw, 4.75rem) !important;
  line-height: 1.02 !important;
  font-weight: 800 !important;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}
.mz-page:not(.mz-page-home) .hero-section h1 span { color: var(--mz-ink) !important; }
.mz-page:not(.mz-page-home) .hero-section h1 + p,
.mz-page:not(.mz-page-home) .hero-section .text-lg,
.mz-page:not(.mz-page-home) .hero-section .text-xl {
  max-width: 720px;
  color: #53606d !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
}
.mz-page:not(.mz-page-home) .hero-section > div > div:first-child > div:first-child,
.mz-page:not(.mz-page-home) .hero-section > div > span:first-child {
  border: 1px solid rgba(13,27,42,.12) !important;
  border-radius: .6rem !important;
  background: rgba(255,255,255,.66) !important;
  color: #425064 !important;
  box-shadow: none !important;
  font-size: .72rem !important;
  font-weight: 750 !important;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.mz-page:not(.mz-page-home) .hero-section .mz-hero-copy {
  max-width: 720px;
  margin: 1.55rem 0 1.7rem !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.mz-page:not(.mz-page-home) .hero-section .mz-hero-content ul {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .78rem 1.2rem !important;
}
.mz-page:not(.mz-page-home) .hero-section .mz-hero-content li {
  gap: .7rem !important;
  color: #344151 !important;
  font-size: .88rem !important;
  line-height: 1.5 !important;
}
.mz-page:not(.mz-page-home) .hero-section .mz-hero-content li > span:first-child {
  display: grid;
  place-items: center;
  flex: 0 0 1.55rem;
  width: 1.55rem;
  height: 1.55rem;
  margin-top: 0 !important;
  border-radius: 50%;
  background: #e6f2eb;
  color: var(--mz-green) !important;
  font-size: .68rem;
}
.mz-page:not(.mz-page-home) .hero-section a[class*="px-6"],
.mz-page:not(.mz-page-home) .hero-section a[class*="px-8"] {
  min-height: 3.35rem;
  padding: .85rem 1.25rem !important;
  border-radius: .7rem !important;
  font-size: .92rem !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
.mz-page:not(.mz-page-home) .hero-section a.bg-whatsapp { box-shadow: 0 12px 26px rgba(24,134,86,.15) !important; }
.mz-page:not(.mz-page-home) .hero-section .mz-hero-stack {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 640px !important;
  aspect-ratio: 5/4 !important;
}
.mz-page:not(.mz-page-home) .hero-section .mz-hero-stack::before {
  content: "";
  position: absolute;
  inset: 7% -4% -4% 8%;
  z-index: -1;
  border: 1px solid rgba(180,123,72,.38);
  border-radius: .9rem;
  transform: rotate(2.3deg);
}
.mz-page:not(.mz-page-home) .hero-section .mz-hero-stack .mz-front {
  overflow: hidden;
  border-radius: .85rem !important;
  box-shadow: 0 32px 75px rgba(13,27,42,.20) !important;
}
.mz-page:not(.mz-page-home) .hero-section .mz-hero-stack .mz-front img { width: 100%; height: 100%; }
.mz-page:not(.mz-page-home) .hero-section .absolute.inset-0 { background: transparent !important; }
.mz-page:not(.mz-page-home) .hero-section .absolute.-bottom-6 {
  border: 1px solid rgba(13,27,42,.1);
  border-radius: .7rem !important;
  background: rgba(252,251,248,.96) !important;
  color: var(--mz-ink) !important;
  box-shadow: 0 15px 35px rgba(13,27,42,.16) !important;
  animation: none !important;
}

/* Ritme en achtergronden */
.mz-page:not(.mz-page-home) > section:not(.hero-section):not(.mz-cc-banner),
.mz-page:not(.mz-page-home) main > section {
  border-color: var(--mz-line) !important;
}
.mz-page:not(.mz-page-home) .bg-white { background-color: #fff !important; }
.mz-page:not(.mz-page-home) .bg-slate-50 { background-color: var(--mz-paper) !important; }
.mz-page:not(.mz-page-home) .bg-slate-100,
.mz-page:not(.mz-page-home) .bg-indigo-50 { background-color: var(--mz-cream) !important; }
.mz-page:not(.mz-page-home) section.bg-slate-900 {
  position: relative;
  overflow: hidden;
  background: var(--mz-ink) !important;
}
.mz-page:not(.mz-page-home) section.bg-slate-900::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--mz-wood);
}
.mz-page:not(.mz-page-home) section.bg-slate-900 h2,
.mz-page:not(.mz-page-home) section.bg-slate-900 h3,
.mz-page:not(.mz-page-home) section.bg-slate-900 strong { color: #fff !important; }
.mz-page:not(.mz-page-home) section.bg-slate-900 p,
.mz-page:not(.mz-page-home) section.bg-slate-900 li { color: #cbd5df !important; }

/* Kaarten, iconen en nummering */
.mz-page:not(.mz-page-home) section .rounded-\[2rem\],
.mz-page:not(.mz-page-home) section .rounded-3xl,
.mz-page:not(.mz-page-home) section .rounded-2xl,
.mz-page:not(.mz-page-home) article {
  border-radius: .78rem !important;
}
.mz-page:not(.mz-page-home) section .shadow-sm,
.mz-page:not(.mz-page-home) section .shadow,
.mz-page:not(.mz-page-home) section .shadow-md,
.mz-page:not(.mz-page-home) section .shadow-lg,
.mz-page:not(.mz-page-home) section .shadow-xl,
.mz-page:not(.mz-page-home) section .shadow-2xl,
.mz-page:not(.mz-page-home) article {
  box-shadow: none !important;
}
.mz-page:not(.mz-page-home) section div.bg-white[class*="border"],
.mz-page:not(.mz-page-home) article,
.mz-page:not(.mz-page-home) details {
  border-color: var(--mz-line) !important;
}
.mz-page:not(.mz-page-home) section div.bg-white[class*="border"],
.mz-page:not(.mz-page-home) article {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.mz-page:not(.mz-page-home) section div.bg-white[class*="border"]:hover,
.mz-page:not(.mz-page-home) article:hover {
  border-color: #c9c0b5 !important;
  box-shadow: 0 20px 45px rgba(13,27,42,.075) !important;
  transform: translateY(-3px);
}
.mz-page:not(.mz-page-home) .w-12.h-12,
.mz-page:not(.mz-page-home) .w-14.h-14 {
  border: 1px solid #d8e0e5;
  border-radius: .55rem !important;
  background: #eaf0f3 !important;
  color: var(--mz-blue) !important;
}
.mz-page:not(.mz-page-home) .w-12.h-12 i,
.mz-page:not(.mz-page-home) .w-14.h-14 i { color: var(--mz-blue) !important; }
.mz-page:not(.mz-page-home) ol span[class*="rounded-full"] {
  background: #e7e1d8 !important;
  color: var(--mz-blue) !important;
}
.mz-page:not(.mz-page-home) details {
  border-radius: .7rem !important;
  background: #fff !important;
  box-shadow: none !important;
}
.mz-page:not(.mz-page-home) details:hover,
.mz-page:not(.mz-page-home) details[open] { background: #f8f6f2 !important; }
.mz-page:not(.mz-page-home) details summary i,
.mz-page:not(.mz-page-home) details summary span:last-child { color: var(--mz-blue) !important; }

/* Plaatselijke landingspagina's */
.mz-page-local main > section:first-child { padding-top: 4rem !important; padding-bottom: 4rem !important; }
.mz-page-local main > section:first-child > .grid > div,
.mz-page-local main > section:first-child.grid > div {
  position: relative;
  overflow: hidden;
  padding: 2rem !important;
  border: 1px solid var(--mz-line) !important;
  border-radius: .78rem !important;
  background: #fff !important;
  box-shadow: none !important;
}
.mz-page-local main > section:first-child > .grid > div::before,
.mz-page-local main > section:first-child.grid > div::before {
  content: "";
  position: absolute;
  left: 2rem;
  top: 1.25rem;
  width: 2.5rem;
  height: 1px;
  background: var(--mz-wood);
}
.mz-page-local [data-v3-local-block="true"] {
  border: 1px solid var(--mz-line) !important;
  border-left: 4px solid var(--mz-wood) !important;
  border-radius: .75rem !important;
  background: linear-gradient(100deg,#f2eee7,#fff 72%) !important;
}
.mz-page-local section[data-v10-local-business] {
  background: var(--mz-cream) !important;
  border-color: var(--mz-line) !important;
}
.mz-page-local section[data-v10-local-business] > div > div {
  border: 1px solid var(--mz-line) !important;
  border-radius: .8rem !important;
  background: linear-gradient(100deg,#eef3f6,#fff 72%) !important;
  color: var(--mz-ink) !important;
  box-shadow: none !important;
}
.mz-page-local section[data-v10-local-business] h2,
.mz-page-local section[data-v10-local-business] h3,
.mz-page-local section[data-v10-local-business] strong {
  color: var(--mz-ink) !important;
}
.mz-page-local section[data-v10-local-business] p {
  color: #53606d !important;
  text-shadow: none !important;
}
.mz-page-local section[data-v10-local-business] .mz-business-eyebrow {
  color: var(--mz-green) !important;
}
.mz-page-local section[data-v10-local-business] .mz-business-seo {
  max-width: 52rem;
  margin-top: 1.15rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--mz-line);
}
.mz-page-local section[data-v10-local-business] .mz-business-seo h3 {
  margin-bottom: .55rem;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -.015em;
}
.mz-page-local section[data-v10-local-business] .mz-business-seo p + p { margin-top: .65rem; }
.mz-page-local section[data-v10-local-business] a {
  border-radius: .65rem !important;
  background: var(--mz-ink) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.mz-page-local section[data-v10-local-business] a:hover { background: #07121e !important; }
.mz-page-local [data-v6-local-proof="true"],
.mz-page-local [data-v5="ctr-vertrouwen"] { background: #fff !important; }

/* PAX-hoofdpagina */
.mz-page-pax > section:nth-of-type(2) {
  margin-top: -2rem !important;
  border: 1px solid var(--mz-line) !important;
  border-radius: .8rem !important;
  background: #fff !important;
  box-shadow: var(--mz-shadow-soft) !important;
}
.mz-page-pax section img { border-radius: .65rem; }
.mz-page-pax section .grid.md\:grid-cols-3 > div,
.mz-page-pax section .grid.lg\:grid-cols-3 > div {
  border: 1px solid var(--mz-line) !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* Kennisbank: rustige redactionele kaarten */
.mz-page-knowledge .hero-section + section { background: var(--mz-cream) !important; }
.mz-page-knowledge .article-card {
  overflow: hidden;
  border: 1px solid var(--mz-line) !important;
  border-radius: .85rem !important;
  background: #fff !important;
}
.mz-page-knowledge .article-card > div:first-child { background: #e8e5df !important; }
.mz-page-knowledge .article-card img { filter: saturate(.9) contrast(1.02); }
.mz-page-knowledge .article-card .absolute.top-4 {
  border: 1px solid rgba(13,27,42,.08);
  border-radius: .5rem !important;
  background: rgba(252,251,248,.94) !important;
  color: var(--mz-ink) !important;
  box-shadow: 0 8px 24px rgba(13,27,42,.10);
}
.mz-page-knowledge .article-card .prose { color: #4f5c6a; }
.mz-page-knowledge .article-card .prose h2,
.mz-page-knowledge .article-card .prose h3 { color: var(--mz-ink) !important; }
.mz-page-knowledge .tip-box {
  border: 1px solid #d9d2c8 !important;
  border-left: 4px solid var(--mz-wood) !important;
  border-radius: .6rem !important;
  background: #f8f5ef !important;
  color: #485563 !important;
}

/* Diensten, Over mij en B2B */
.mz-page-services #diensten .grid > div,
.mz-page-business section .grid.md\:grid-cols-3 > div {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--mz-line) !important;
  border-radius: .78rem !important;
  background: var(--mz-paper) !important;
  box-shadow: none !important;
}
.mz-page-services #diensten .grid > div::before,
.mz-page-business section .grid.md\:grid-cols-3 > div::before {
  content: "";
  position: absolute;
  left: 2rem;
  top: 1.25rem;
  width: 2.5rem;
  height: 1px;
  background: var(--mz-wood);
}
.mz-page-about #verhaal { background: #fff !important; }
.mz-page-about #verhaal img {
  border-radius: .8rem !important;
  box-shadow: var(--mz-shadow) !important;
}
.mz-page-business #contact-zakelijk { background: var(--mz-cream) !important; }
.mz-page-business #contact-zakelijk > div > div {
  border-color: var(--mz-line) !important;
  border-radius: .8rem !important;
  box-shadow: var(--mz-shadow) !important;
}

/* Juridische pagina's blijven leesbaar, maar horen visueel bij de rest. */
.mz-page-legal main,
.mz-page-legal article {
  color: #4f5c6a;
}
.mz-page-legal main > div,
.mz-page-legal article {
  border-color: var(--mz-line) !important;
  border-radius: .8rem !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* Actieknoppen en labels overal gelijk */
.mz-page:not(.mz-page-home) a.bg-indigo-600,
.mz-page:not(.mz-page-home) a.bg-indigo-700,
.mz-page:not(.mz-page-home) button.bg-indigo-600,
.mz-page:not(.mz-page-home) .bg-\[\#4338ca\] {
  border-radius: .65rem !important;
  background: var(--mz-ink) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.mz-page:not(.mz-page-home) a.bg-indigo-50,
.mz-page:not(.mz-page-home) a.bg-indigo-100 {
  border: 1px solid var(--mz-line) !important;
  border-radius: .65rem !important;
  background: #fff !important;
  color: var(--mz-ink) !important;
}
.mz-page:not(.mz-page-home) span.bg-indigo-100,
.mz-page:not(.mz-page-home) span.bg-indigo-50 {
  border-radius: .5rem !important;
  background: #e7e1d8 !important;
  color: var(--mz-blue) !important;
}

@media (max-width: 1023px) {
  .mz-page header nav.hidden.lg\:flex { display: none !important; }
  .mz-page header button.lg\:hidden { display: block !important; }
  .mz-page:not(.mz-page-home) .hero-section > div[class*="max-w-"] { max-width: 760px !important; }
  .mz-page:not(.mz-page-home) .hero-section .hidden.md\:block {
    display: block !important;
    margin-top: 2.5rem;
  }
}

@media (max-width: 768px) {
  .mz-page:not(.mz-page-home) .hero-section {
    padding: 3.5rem 0 3rem !important;
  }
  .mz-page:not(.mz-page-home) .hero-section h1 {
    font-size: 2.45rem !important;
    line-height: 1.04 !important;
  }
  .mz-page:not(.mz-page-home) .hero-section .mz-hero-content ul { grid-template-columns: 1fr; }
  .mz-page:not(.mz-page-home) .hero-section .mz-hero-stack {
    max-width: 100% !important;
    aspect-ratio: 4/3 !important;
  }
  .mz-page:not(.mz-page-home) .hero-section .absolute.-bottom-6 {
    left: .65rem !important;
    bottom: .65rem !important;
  }
  .mz-page-knowledge .article-card .p-8,
  .mz-page-knowledge .article-card .sm\:p-12 { padding: 1.5rem !important; }
}

/* V15 — rustiger blauw tekstbeeld, zoals gekozen op de PAX-pagina */
:root {
  --mz-heading: #2d5d7f;
  --mz-text: #405d73;
  --mz-text-soft: #60778a;
}
.mz-page { color: var(--mz-text) !important; }
.mz-page header span.text-2xl,
.mz-page header nav > a:not(.bg-whatsapp) { color: var(--mz-heading) !important; }
.mz-page .hero-section h1,
.mz-page .hero-section h1 span,
.mz-page main h1,
.mz-page main h2,
.mz-page main h3,
.mz-page main h4,
.mz-page > section:not(.hero-section):not(.bg-slate-900) h1,
.mz-page > section:not(.hero-section):not(.bg-slate-900) h2,
.mz-page > section:not(.hero-section):not(.bg-slate-900) h3,
.mz-page > section:not(.hero-section):not(.bg-slate-900) h4 {
  color: var(--mz-heading) !important;
}
.mz-page .hero-section p,
.mz-page .hero-section li,
.mz-page main p,
.mz-page main li,
.mz-page > section:not(.hero-section):not(.bg-slate-900) p,
.mz-page > section:not(.hero-section):not(.bg-slate-900) li {
  color: var(--mz-text) !important;
}
.mz-page main .text-slate-500,
.mz-page main .text-slate-600,
.mz-page > section:not(.hero-section):not(.bg-slate-900) .text-slate-500,
.mz-page > section:not(.hero-section):not(.bg-slate-900) .text-slate-600 {
  color: var(--mz-text-soft) !important;
}
.mz-page main strong,
.mz-page > section:not(.hero-section):not(.bg-slate-900) strong { color: #294f69; }
.mz-page article h1,
.mz-page article h2,
.mz-page article h3,
.mz-page article h4,
.mz-page .prose h1,
.mz-page .prose h2,
.mz-page .prose h3,
.mz-page .prose h4 { color: var(--mz-heading) !important; }
.mz-page article p,
.mz-page article li,
.mz-page .prose p,
.mz-page .prose li { color: var(--mz-text) !important; }
.mz-page article strong,
.mz-page .prose strong { color: #294f69 !important; }
.mz-page-local section[data-v10-local-business] h2,
.mz-page-local section[data-v10-local-business] h3,
.mz-page-local section[data-v10-local-business] strong { color: var(--mz-heading) !important; }
.mz-page-local section[data-v10-local-business] p { color: var(--mz-text) !important; }

/* Donkere vlakken behouden bewust lichte tekst voor voldoende contrast. */
.mz-page section.bg-slate-900,
.mz-page #prijzen-calculator aside,
.mz-page footer { color: #fff !important; }
.mz-page section.bg-slate-900 h2,
.mz-page section.bg-slate-900 h3,
.mz-page section.bg-slate-900 strong,
.mz-page #prijzen-calculator aside h2,
.mz-page #prijzen-calculator aside h3,
.mz-page #prijzen-calculator aside strong { color: #fff !important; }
.mz-page section.bg-slate-900 p,
.mz-page section.bg-slate-900 li,
.mz-page #prijzen-calculator aside p,
.mz-page #prijzen-calculator aside li { color: #cbd5df !important; }

/* V16 — overal hetzelfde premium donkerblauw
   Deze slotlaag vangt ook oudere, pagina-eigen zwart- en grijstinten af. */
:root {
  --mz-ink: #123b5a;
  --mz-navy: #174d70;
  --mz-p-ink: #123b5a;
  --mz-p-navy: #174d70;
  --mz-deep-blue: #123b5a;
  --mz-deep-blue-hover: #0d304a;
}

/* Alle koppen op lichte achtergronden zijn consequent rustig blauw. */
.mz-page h1,
.mz-page h2,
.mz-page h3,
.mz-page h4,
.mz-page .text-slate-900,
.mz-page .text-gray-900 {
  color: var(--mz-heading) !important;
}

/* Zwarte/donkergrijze achtergronden en primaire knoppen worden donkerblauw. */
.mz-page .bg-slate-950,
.mz-page .bg-slate-900,
.mz-page .bg-slate-800,
.mz-page [class*="bg-slate-950/"],
.mz-page [class*="bg-slate-900/"],
.mz-page [class*="bg-slate-800/"],
.mz-page .bg-gray-950,
.mz-page .bg-gray-900,
.mz-page .bg-gray-800,
.mz-page .bg-indigo-900,
.mz-page .bg-indigo-800,
.mz-page .bg-indigo-700,
.mz-page .bg-indigo-600,
.mz-page .bg-\[\#4338ca\],
.mz-page .bg-\[\#3730a3\],
.mz-page .bg-\[\#5356FF\],
.mz-page a.bg-indigo-600,
.mz-page a.bg-indigo-700,
.mz-page button.bg-indigo-600,
.mz-page button.bg-indigo-700,
.mz-page #prijzen-calculator aside,
.mz-page #reviews > div > div:first-child,
.mz-page .mz-btn-primary,
.mz-page footer,
.mz-page .mz-cc-inner {
  background-color: var(--mz-deep-blue) !important;
  background-image: none !important;
}

.mz-page a.bg-indigo-600:hover,
.mz-page a.bg-indigo-700:hover,
.mz-page button.bg-indigo-600:hover,
.mz-page button.bg-indigo-700:hover,
.mz-page .mz-btn-primary:hover,
.mz-page .hover\:bg-indigo-700:hover,
.mz-page .hover\:bg-indigo-800:hover,
.mz-page-local section[data-v10-local-business] a:hover {
  background-color: var(--mz-deep-blue-hover) !important;
}

/* Op donkerblauwe vlakken blijft het contrast helder en professioneel. */
.mz-page .bg-slate-950 h1,
.mz-page .bg-slate-950 h2,
.mz-page .bg-slate-950 h3,
.mz-page .bg-slate-950 h4,
.mz-page .bg-slate-900 h1,
.mz-page .bg-slate-900 h2,
.mz-page .bg-slate-900 h3,
.mz-page .bg-slate-900 h4,
.mz-page .bg-slate-800 h1,
.mz-page .bg-slate-800 h2,
.mz-page .bg-slate-800 h3,
.mz-page .bg-slate-800 h4,
.mz-page #prijzen-calculator aside h1,
.mz-page #prijzen-calculator aside h2,
.mz-page #prijzen-calculator aside h3,
.mz-page #reviews > div > div:first-child h2,
.mz-page footer h2,
.mz-page footer h3,
.mz-page footer h4 {
  color: #fff !important;
}

.mz-page .bg-slate-950 p,
.mz-page .bg-slate-950 li,
.mz-page .bg-slate-900 p,
.mz-page .bg-slate-900 li,
.mz-page .bg-slate-800 p,
.mz-page .bg-slate-800 li,
.mz-page #prijzen-calculator aside p,
.mz-page #prijzen-calculator aside li,
.mz-page #reviews > div > div:first-child p,
.mz-page footer p,
.mz-page footer li {
  color: #d8e5ee !important;
}

/* V17 — vaste knop- en merkkleuren op iedere pagina */
:root {
  --mz-heading: #123b5a;
  --mz-blue: #174d70;
  --mz-p-blue: #174d70;
  --mz-whatsapp: #188656;
  --mz-whatsapp-hover: #12804a;
}

/* Naam naast het logo en alle prominente titels: hetzelfde donkerblauw. */
.mz-page header a[aria-label*="MontageZeker"] > span,
.mz-page header span.text-2xl,
.mz-page-home section[id] h2,
.mz-page-home section[id] h3 {
  color: var(--mz-heading) !important;
}

/* Eén vaste primaire stijl voor iedere prijs-calculator-CTA. */
.mz-page a.mz-price-cta,
.mz-page .mz-btn.mz-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .55rem !important;
  min-height: 3.25rem !important;
  padding: .85rem 1.35rem !important;
  border: 1px solid var(--mz-deep-blue) !important;
  border-radius: .65rem !important;
  background: var(--mz-deep-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: .95rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 12px 26px rgba(18, 59, 90, .18) !important;
}
.mz-page a.mz-price-cta:hover,
.mz-page .mz-btn.mz-btn-primary:hover {
  border-color: var(--mz-deep-blue-hover) !important;
  background: var(--mz-deep-blue-hover) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* WhatsApp blijft herkenbaar groen, met overal helder witte tekst en iconen. */
.mz-page a.bg-whatsapp,
.mz-page button.bg-whatsapp,
.mz-page a.bg-green-500,
.mz-page button.bg-green-500,
.mz-page a.bg-\[\#25D366\],
.mz-page button.bg-\[\#25D366\],
.mz-page #calc-whatsapp-button {
  border-color: var(--mz-whatsapp) !important;
  background-color: var(--mz-whatsapp) !important;
  background-image: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.mz-page a.bg-whatsapp *,
.mz-page button.bg-whatsapp *,
.mz-page a.bg-green-500 *,
.mz-page button.bg-green-500 *,
.mz-page a.bg-\[\#25D366\] *,
.mz-page button.bg-\[\#25D366\] *,
.mz-page #calc-whatsapp-button * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.mz-page a.bg-whatsapp:hover,
.mz-page button.bg-whatsapp:hover,
.mz-page a.bg-green-500:hover,
.mz-page button.bg-green-500:hover,
.mz-page a.bg-\[\#25D366\]:hover,
.mz-page button.bg-\[\#25D366\]:hover,
.mz-page #calc-whatsapp-button:hover {
  border-color: var(--mz-whatsapp-hover) !important;
  background-color: var(--mz-whatsapp-hover) !important;
  color: #fff !important;
}

/* V18 — CTA-contrast exact gelijk aan de homepage */
/* Donkerblauwe primaire links krijgen altijd werkelijk witte tekst. */
.mz-page a.bg-indigo-600,
.mz-page a.bg-indigo-700,
.mz-page a.bg-indigo-800,
.mz-page a.bg-indigo-900,
.mz-page a.bg-slate-800,
.mz-page a.bg-slate-900,
.mz-page a.bg-\[\#4338ca\],
.mz-page a.bg-\[\#3730a3\],
.mz-page a.bg-\[\#5356FF\] {
  background: var(--mz-deep-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.mz-page a.bg-indigo-600 *,
.mz-page a.bg-indigo-700 *,
.mz-page a.bg-indigo-800 *,
.mz-page a.bg-indigo-900 *,
.mz-page a.bg-slate-800 *,
.mz-page a.bg-slate-900 *,
.mz-page a.bg-\[\#4338ca\] *,
.mz-page a.bg-\[\#3730a3\] *,
.mz-page a.bg-\[\#5356FF\] * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Lokale hero: dezelfde knopvolgorde en kleuren als op de homepage. */
.mz-page-local .hero-section a.mz-price-cta {
  min-height: 3.35rem !important;
  padding: .85rem 1.35rem !important;
  border: 1px solid var(--mz-deep-blue) !important;
  border-radius: .65rem !important;
  background: var(--mz-deep-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.mz-page-local .hero-section a[href="/ikeapaxkasten.html"] {
  min-height: 3.35rem !important;
  padding: .85rem 1.35rem !important;
  border: 1px solid #cbd5df !important;
  border-radius: .65rem !important;
  background: #fff !important;
  color: var(--mz-heading) !important;
  -webkit-text-fill-color: var(--mz-heading) !important;
  box-shadow: none !important;
}
.mz-page-local .hero-section a[href="/ikeapaxkasten.html"] * {
  color: var(--mz-heading) !important;
  -webkit-text-fill-color: var(--mz-heading) !important;
}

/* Diensten en PAX: primaire CTA donkerblauw/wit, secundaire CTA wit/blauw. */
.mz-page-services .hero-section a[href="https://montagezeker.nl/#prijzen"],
.mz-page-pax .hero-section a[href="/#ai-helper-anchor"] {
  border: 1px solid var(--mz-deep-blue) !important;
  background: var(--mz-deep-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.mz-page-services .hero-section a[href="https://montagezeker.nl/#prijzen"] *,
.mz-page-pax .hero-section a[href="/#ai-helper-anchor"] * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.mz-page-services .hero-section a[href="/#ai-helper-anchor"] {
  border: 1px solid #cbd5df !important;
  background: #fff !important;
  color: var(--mz-heading) !important;
  -webkit-text-fill-color: var(--mz-heading) !important;
  box-shadow: none !important;
}

/* V19 — prijs- en garantie-iconen zonder afwijkende ontbrekende tekens */
.mz-page .mz-cta-arrow {
  display: inline-block;
  flex: 0 0 auto;
  margin-left: .15rem;
  color: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
  font-family: Arial, sans-serif !important;
  font-size: 1.1em;
  font-weight: 800;
  line-height: 1;
}

/* V23 — Google review fallback: zichtbaar als de externe widget niet rendert. */
.mz-review-fallback[hidden] { display: none !important; }
.mz-review-fallback {
  margin-top: 1.5rem;
  color: var(--mz-heading);
}
.mz-review-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  margin-bottom: 1rem;
  border: 1px solid var(--mz-line);
  border-radius: .75rem;
  background: #fff;
}
.mz-review-stars { color: #e0a800; letter-spacing: .12em; }
.mz-review-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.mz-review-card {
  min-height: 100%;
  padding: 1.2rem;
  border: 1px solid var(--mz-line);
  border-radius: .75rem;
  background: #fff;
  box-shadow: var(--mz-shadow-soft);
}
.mz-review-card blockquote { margin: .7rem 0 0; color: var(--mz-text); line-height: 1.65; }
.mz-review-card strong { color: var(--mz-heading); }
.mz-review-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: .7rem 1rem;
  border-radius: .6rem;
  background: var(--mz-deep-blue);
  color: #fff !important;
  font-weight: 750;
}
@media (max-width: 768px) {
  .mz-review-summary { align-items: flex-start; flex-direction: column; }
  .mz-review-grid { grid-template-columns: 1fr; }
}

/* V23 — leesbare juridische pagina's binnen dezelfde premium huisstijl. */
.mz-page-legal main { background: var(--mz-paper); }
.mz-page-legal .mz-legal-card {
  max-width: 960px;
  margin: 0 auto;
  padding: clamp(1.35rem, 4vw, 3.25rem);
  border: 1px solid var(--mz-line);
  border-radius: .85rem;
  background: #fff;
  box-shadow: var(--mz-shadow-soft);
}
.mz-page-legal .mz-legal-card h1 { margin: 0 0 1.5rem; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.05; }
.mz-page-legal .mz-legal-card h2 { margin: 2rem 0 .75rem; font-size: 1.35rem; }
.mz-page-legal .mz-legal-card p,
.mz-page-legal .mz-legal-card li,
.mz-page-legal .mz-legal-card td,
.mz-page-legal .mz-legal-card th { color: var(--mz-text); line-height: 1.7; }
.mz-page-legal .mz-legal-card ul { margin: .7rem 0 0 1.2rem; list-style: disc; }
.mz-page-legal .mz-legal-card a { color: var(--mz-blue); text-decoration: underline; text-underline-offset: 2px; }
.mz-page-legal .mz-legal-card table { width: 100%; margin-top: 1rem; border-collapse: collapse; }
.mz-page-legal .mz-legal-card th,
.mz-page-legal .mz-legal-card td { padding: .8rem; border: 1px solid var(--mz-line); text-align: left; vertical-align: top; }
