/* Aanvullingen op de bestaande Centra-huisstijl. */
:root { --action:#0876bd; }
.btn { background:var(--action); }
.btn:hover { background:#05639f; }
.mobileBar a:last-child { background:var(--action); }
.heroShade { background:linear-gradient(90deg,rgba(3,17,40,.86),rgba(3,17,40,.66) 54%,rgba(3,17,40,.20)); }
.heroContent h1 { max-width:930px; }
.serviceHero { padding:60px 0 78px; }
.serviceHero h1 { max-width:960px; font-size:clamp(2.5rem,4.5vw,4.5rem); }
.serviceHero .actions { margin-top:28px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; font-size:.8rem; color:#d8e6f5; margin-bottom:32px; }
.breadcrumbs a { text-decoration:underline; text-underline-offset:3px; }
.prose h2 { font-size:clamp(1.6rem,2.5vw,2.25rem); line-height:1.18; }
.sideCard ol { margin:0 0 12px; padding-left:20px; color:#d8e6f5; }
.sideCard li + li { margin-top:10px; }
.relatedLinks { display:flex; flex-wrap:wrap; gap:12px; }
.relatedLinks a { border:1px solid var(--line); padding:10px 14px; font-weight:700; color:var(--navy); }
.relatedLinks a:hover { border-color:var(--blue); background:var(--light); }
.serviceFaq details { border-top:1px solid var(--line); padding:18px 0; }
.serviceFaq summary { cursor:pointer; font-weight:800; color:var(--navy); }
.serviceFaq details p { margin:14px 0 0; }
.formIntro { color:var(--muted); font-size:.9rem; }
.formExtra { border:1px solid var(--line); background:var(--light); padding:16px; }
.formExtra summary { cursor:pointer; color:var(--navy); font-weight:800; font-size:.9rem; }
.formExtra summary span { font-weight:500; }
.formExtra > .formGrid { margin-top:20px; }
.formError[hidden] { display:none; }
.formError { margin-top:18px; }
.formError a, .requiredNote a { text-decoration:underline; }
.photoList span { overflow-wrap:anywhere; }
.photoInput { position:absolute!important; width:1px!important; height:1px!important; clip-path:inset(50%); padding:0!important; overflow:hidden; }
.photoAdd { display:flex; justify-content:center; align-items:center; width:100%; min-height:48px; background:#fff; border:1px solid var(--line); font:inherit; color:var(--navy); cursor:pointer; }
.photoList button { cursor:pointer; min-height:36px; }
.navDropdownMenu { max-height:calc(100dvh - 150px); overflow-y:auto; }
:focus-visible { outline:3px solid #168de2; outline-offset:4px; }
.btn:focus-visible { outline-color:#061b3d; }
.btn.ghost:focus-visible, footer a:focus-visible { outline-color:#75bff1; }
.hero .btn.ghost, .serviceHero .btn.ghost { color:#fff; }
.serviceGrid.large .serviceContent { padding:24px; }
.serviceGrid.large .service p { min-height:0; }
.serviceGrid.large .service:hover { border-color:var(--blue); }
.success p { margin:12px 0; }
.success a { text-decoration:underline; font-weight:800; }
@media (max-width:1050px) {
  .nav nav.open { max-height:calc(100dvh - 114px); overflow:auto; overscroll-behavior:contain; }
  .navDropdownMenu { max-height:none; }
}
@media (max-width:700px) {
  .hero { min-height:620px; height:auto; padding:50px 0; }
  .heroShade { background:linear-gradient(rgba(3,17,40,.64),rgba(3,17,40,.86)); }
  .heroContent h1 { font-size:clamp(2rem,8.8vw,2.65rem); }
  .heroContent .eyebrow { max-width:300px; font-size:.65rem; }
  .heroTrust { margin-top:20px; }
  .serviceHero { padding:34px 0 48px; }
  .serviceHero h1 { font-size:2.3rem; }
  .serviceHero .btn { width:100%; }
  .breadcrumbs { font-size:.72rem; margin-bottom:24px; }
  .prose > section { padding:24px 0; }
  .formExtra { padding:14px; }
  .sideCard { padding:26px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation:none!important; transition:none!important; }
  html { scroll-behavior:auto; }
}
