/* Shared editorial cards: size columns by readable content, not viewport alone. */
/* A breadcrumb that is itself the content wrapper must retain auto side margins.
   Form pages are deliberately excluded from these editorial layout corrections. */
main:not(:has(form))>.wrap.crumbs{margin-inline:auto}
main .reading .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px}
main .reading .card h2,main .reading .card h3{font-size:26px;line-height:1.25;color:var(--nachtblauw,#183c4e);overflow-wrap:normal;word-break:normal;hyphens:manual}
main .reading .card h2 a,main .reading .card h3 a{overflow-wrap:normal;word-break:normal;hyphens:manual}
/* Keep each name and role centred beneath its centred portrait. */
.hero-team .photo-card>div{text-align:center}
/* Package choice is primary; quote links are quiet secondary actions. */
main [data-package-key] h3,main [data-package-key] h4{font-size:26px;line-height:1.25;color:#183c4e;word-break:normal;overflow-wrap:normal;hyphens:manual}
main [data-package-key] a[href^="/offerte-aanvragen"]{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;box-sizing:border-box;max-width:100%;min-height:44px;width:auto;padding:10px 16px;background:#fff;color:#183c4e;border:2px solid #183c4e;border-radius:8px;font-size:18px;font-weight:600;line-height:1.4;text-decoration:none}
main [data-package-key] a[href^="/offerte-aanvragen"]:hover{background:#eff4f6}
main [data-package-key] a[href^="/offerte-aanvragen"]:focus-visible{outline:3px solid #20717b;outline-offset:4px}
/* Useful fallback spacing even when JavaScript is unavailable. */
main .reading a.ba_foto{display:inline-block;vertical-align:top;width:calc(50% - 16px);margin:8px}
main .reading a.ba_foto img{display:block;width:100%;height:auto}
.city-gallery{margin-block:24px}
.city-gallery button{font:inherit;color:#183c4e;background:#fff;border:1px solid #587f93;border-radius:8px;min-height:44px;cursor:pointer}
.city-gallery-main{display:block;width:100%;padding:0;overflow:hidden}
.city-gallery-main img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#eff4f6;margin:0}
.city-gallery-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block:16px}
.city-gallery-controls button{padding:10px 14px}
.city-gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px}
.city-gallery-thumbs button{padding:3px;overflow:hidden}
.city-gallery-thumbs img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin:0}
.city-gallery-thumbs [aria-pressed=true]{outline:3px solid #183c4e;outline-offset:2px}
.city-gallery-dialog{max-width:min(1100px,94vw);max-height:94dvh;padding:20px;border:0;border-radius:12px;background:#fff;color:#183c4e}
.city-gallery-dialog::backdrop{background:rgba(0,0,0,.8)}
.city-gallery-dialog>img{display:block;max-width:100%;max-height:70dvh;object-fit:contain;margin:auto}
.city-gallery-dialog button{font:inherit;min-height:44px;background:#183c4e;color:#fff;border:0;border-radius:8px;padding:10px 14px;cursor:pointer}
.city-gallery button:focus-visible,.city-gallery-dialog button:focus-visible{outline:3px solid #20717b;outline-offset:4px}

/* Directory photographs only. No global buttons, forms, consent or tracking. */
main .bfotos,main #bfotos{display:block;width:100%;height:auto;max-width:100%;overflow:visible}
main a.ba_foto:not([hidden]){display:inline-block;vertical-align:top;width:calc(50% - 16px);margin:8px}
main a.ba_foto[hidden]{display:none!important}
main a.ba_foto img{display:block;width:100%;height:auto}
.city-gallery{display:block;max-width:100%;margin-block:24px}
.city-gallery button{font:inherit;color:#183c4e;background:#fff;border:1px solid #587f93;border-radius:8px;min-height:44px;cursor:pointer}
.city-gallery > button.city-gallery-main{display:block;box-sizing:border-box;width:100%;min-width:100%;max-width:100%;padding:0;overflow:hidden}
.city-gallery-main img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#eff4f6;margin:0}
.city-gallery-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block:16px}
.city-gallery-controls button{padding:10px 14px}
.city-gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px}
.city-gallery-thumbs button{padding:3px;overflow:hidden}
.city-gallery-thumbs img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin:0}
.city-gallery-thumbs [aria-pressed=true]{outline:3px solid #183c4e;outline-offset:2px}
.city-gallery-dialog{box-sizing:border-box;position:fixed;inset:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:16px;border:0;border-radius:0;background:#fff;color:#183c4e}
.city-gallery-dialog[open]{display:flex;flex-direction:column;gap:12px}
.city-gallery-dialog .city-gallery-controls{flex:none;margin:0}
.city-gallery-dialog::backdrop{background:rgba(0,0,0,.8)}
.city-gallery-dialog>img{display:block;flex:1;min-height:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;margin:0}
.city-gallery-dialog button{font:inherit;min-height:44px;background:#183c4e;color:#fff;border:0;border-radius:8px;padding:10px 14px;cursor:pointer}
.city-gallery button:focus-visible,.city-gallery-dialog button:focus-visible{outline:3px solid #20717b;outline-offset:4px}

/* Shared package presentation only. No form or global CTA selectors. */
main [data-package-key] h3,main [data-package-key] h4{font-size:26px;line-height:1.25;color:#183c4e;word-break:normal;overflow-wrap:normal;hyphens:manual}
main [data-package-key] a[href^="/offerte-aanvragen"]{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;box-sizing:border-box;max-width:100%;min-height:44px;width:auto;padding:10px 16px;background:#fff;color:#183c4e;border:2px solid #183c4e;border-radius:8px;font-size:18px;font-weight:600;line-height:1.4;text-decoration:none}
main [data-package-key] a[href^="/offerte-aanvragen"]:hover{background:#eff4f6}
main [data-package-key] a[href^="/offerte-aanvragen"]:focus-visible{outline:3px solid #20717b;outline-offset:4px}

main [data-package-key] .package-highlights,main [data-package-key] details{font-size:16px;line-height:1.65}
main [data-package-key] .package-highlights{padding-left:1.25em;margin:20px 0}

.package-comparison{width:100%;border-collapse:collapse;font-size:16px}.package-comparison th,.package-comparison td{padding:16px;border-bottom:1px solid #dfe7ec;vertical-align:top;text-align:left}.package-comparison caption{text-align:left;font-weight:600;margin-bottom:16px}.package-comparison th[scope=row]{min-width:170px}.package-comparison td{min-width:160px}
/* One comparison source; stack each package at narrow widths and browser zoom. */
@media(max-width:900px){
.table-scroll:has(>.package-comparison){overflow:visible;border:0}
.package-comparison,.package-comparison tbody{display:block;width:100%;min-width:0}
.package-comparison thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.package-comparison caption{display:block}
.package-comparison tbody tr{display:block;border:1px solid #dfe7ec;border-radius:12px;margin-block:0 24px;overflow:hidden}
.package-comparison th[scope=row],.package-comparison td{display:block;width:auto;min-width:0!important;max-width:100%;padding:16px 20px;white-space:normal;overflow-wrap:break-word}
.package-comparison th[scope=row]{background:#edf3f5;font-size:24px;line-height:1.3}
.package-comparison td::before{content:attr(data-label);display:block;font-weight:600;color:#183e4e;margin-bottom:6px}
.package-comparison td:last-child{border-bottom:0}
}
/* Consistent content alignment, headings and portraits from the first release. */
main>.wrap.crumbs{margin-inline:auto;max-width:1200px;padding-inline:24px}
.hero-team .photo-card>div{min-width:0;padding:20px 12px;text-align:center}
.hero-team .photo-card p{white-space:normal;overflow:visible;overflow-wrap:normal;font-size:16px}
.hero-team .photo-card img{width:50%;height:auto;aspect-ratio:4/5;object-fit:cover;margin-inline:auto}
.reading li,.reading dd{overflow-wrap:break-word;word-break:normal;hyphens:manual}
@media(max-width:600px){.reading p{overflow-wrap:break-word;word-break:normal;hyphens:manual}}
.package h2{font-size:26px;line-height:1.25}
.reading h2,.reading h3,.card h2,.card h3{word-break:normal;overflow-wrap:normal;hyphens:manual}
.home-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
.local-location-photo{margin:0 0 32px}.local-location-photo img{display:block;width:100%;height:auto;border-radius:8px}.article-source{font-size:18px;border-top:1px solid #dfe7ec;padding-top:16px}
body main .city-package-card[data-package-key="natuur"]{grid-column:auto}
body main .city-package-card img.package-photo{max-width:400px;width:100%;height:auto;aspect-ratio:5/2;object-fit:cover;margin:16px 0}

.local-location-photo img{max-width:570px}
.city-gallery > button.city-gallery-main{margin-inline:auto;min-width:0}.city-gallery-dialog>img{align-self:center}.package-shortcuts{margin-block:24px}
.service-trust{background:#eff4f6;border-radius:12px;padding:24px;margin-block:32px}
@media(max-width:600px){body main .reading h1,body main .hero h1{font-size:32px;line-height:1.15;hyphens:manual;overflow-wrap:normal;word-break:normal}}
@media(max-width:360px){body main .reading h1,body main .hero h1{font-size:28px}}
@media(max-width:300px){body main .reading h1,body main .hero h1{font-size:23px}.hero-choices a[href^="tel:"]{padding-inline:12px}.hero-choices [data-phone-nowrap]{display:block;white-space:nowrap;font-size:18px}}
.directory-categories{list-style:none;padding-left:0}.package-photo{display:block;width:100%;height:140px;object-fit:cover;border-radius:8px;margin:16px 0}.article-team{margin-block:32px}.hero .hero-choices{grid-template-columns:1fr;max-width:460px}
.home-hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end}
.home-hero-layout .hero-choices{margin-top:0}.home-hero-layout img{width:100%;height:auto}
.hero-choices .button span[data-phone-nowrap]{display:inline;font-size:inherit;margin:0}
@media(max-width:300px){.hero-choices .button span[data-phone-nowrap]{display:block;font-size:18px}}
@media(max-width:767px){.home-hero-layout{grid-template-columns:1fr;gap:24px}}
.home-topics img[src$="-lijn.svg"]{object-fit:contain;background:#eff4f6}
@media(max-width:600px){.head .brand{min-width:0;max-width:100%}.head .brand-name{white-space:normal;overflow-wrap:normal}.head .brand-city{display:inline-block}}
/* Reflow at 200% zoom, including narrow 320px windows. */
@media(max-width:300px){
.head .head-top{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.head .brand{min-width:0;max-width:100%;gap:8px}
.head .brand-name{min-width:0;white-space:normal;overflow-wrap:anywhere}
.head .brand-city{white-space:normal}.head .tagline{white-space:normal}
.head .head-phone{width:100%;min-width:0;max-width:100%;padding:12px;box-sizing:border-box;flex-direction:column;align-items:flex-start}
.head .head-phone .phone,.mobile-callbar .button{white-space:normal;overflow-wrap:normal}
.head .menu-toggle{align-self:flex-start}
body main h2,body main h3{hyphens:manual;overflow-wrap:normal;word-break:normal}body main h2{font-size:22px}.service-trust{padding:16px}.service-trust .button{box-sizing:border-box;max-width:100%;padding-inline:8px;font-size:16px;white-space:normal;overflow-wrap:normal;hyphens:manual}.wrap{max-width:100%;min-width:0}
}
@media(max-width:390px){.head .brand .brand-name,.head .brand .brand-city{font-size:19px}.head .brand .tagline{font-size:12px}.hero-team{grid-template-columns:1fr}}



body main .reading h1,body main .reading h2,body main .reading h3,body main .hero h1,body main .card h2,body main .card h3,body main .reading li{hyphens:manual;word-break:normal;overflow-wrap:normal}
@media(max-width:300px){body main .reading h1,body main .reading h2,body main .reading h3,body main .reading li{overflow-wrap:anywhere}}

/* Keep short words intact in Infotheek card headings at every width. */
body main .card h2,body main .card h3{hyphens:manual;hyphenate-limit-chars:12 5 4;-webkit-hyphenate-limit-before:6;-webkit-hyphenate-limit-after:6}

/* Keep long headings readable inside narrow content columns. */
@media(max-width:600px){body main h1,body main h2,body main h3,body main .reading h1,body main .reading h2,body main .reading h3,body main .hero h1,body main .card h2,body main .card h3{overflow-wrap:anywhere;word-break:normal;hyphens:manual;hyphenate-limit-chars:12 5 4;-webkit-hyphenate-limit-before:6;-webkit-hyphenate-limit-after:6}}
body main .city-article-photos .city-gallery-main{width:100%;min-width:0;max-width:480px}.city-article-photos .city-gallery-main img{width:100%;max-width:480px;height:auto}

/* Haarlem audit 6 November: natural wrapping at every width. */
body main,body main p,body main li,body main dd,body main h1,body main h2,body main h3,body main h4,body main a,body main .reading h1,body main .reading h2,body main .reading h3,body main .card h2,body main .card h3,main .reading .card h2 a,main .reading .card h3 a,main [data-package-key] h3,main [data-package-key] h4{hyphens:manual;-webkit-hyphens:manual;word-break:normal;overflow-wrap:break-word}
body main .card h2,body main .card h3,body main .reading .card h2,body main .reading .card h3{font-size:clamp(20px,2vw,26px);overflow-wrap:break-word}
@media(min-width:600px) and (max-width:1023px){[data-cms-home-topics]>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:899px){.head .head-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px}.head .brand{min-width:0;max-width:100%}.head .head-phone{grid-column:1/-1;justify-self:stretch;max-width:100%;text-align:center}.head .menu-toggle{display:block}.head .nav{display:none;flex-direction:column;gap:0}.head .nav.open,html:not(.js) .head .nav{display:flex}.head .nav a{padding:10px 0}html:not(.js) .head .menu-toggle{display:none}}
@media(min-width:900px){.head .menu-toggle{display:none}.head .nav{display:flex;flex-wrap:nowrap;gap:clamp(14px,2vw,30px)}}
.hero-team .photo-card{display:flex;flex-direction:column;align-items:center;height:auto;padding:16px 10px;border:1px solid #dfe7ec;border-radius:12px}
.hero-team .photo-card img,.hero-team .staff-initials{width:120px;max-width:100%;height:150px;aspect-ratio:4/5;object-fit:cover;margin:0 auto;border-radius:8px}
.hero-team .staff-initials{display:flex;align-items:center;justify-content:center;background:#eff4f6;color:#183c4e;font-size:42px;font-weight:600}
.hero-team .photo-card>div{padding:16px 0 0;width:100%;text-align:center}.hero-team .photo-card h2,.hero-team .photo-card h3{font-size:22px;margin:0 0 8px}.hero-team .photo-card p{font-size:16px;line-height:1.5;margin:0;overflow:visible}
@media(min-width:1024px){.hero-team{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}}
@media(min-width:600px) and (max-width:1023px){.hero-team{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(max-width:599px){.hero-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hero-team .photo-card{padding:12px 8px}.hero-team .photo-card img,.hero-team .staff-initials{width:100px;height:125px}.hero-team .photo-card h2,.hero-team .photo-card h3{font-size:20px}}
@media(max-width:359px){.hero-team{grid-template-columns:1fr}.hero-team .photo-card{padding:16px}.hero-team .photo-card p{max-width:220px;margin:auto}}
@media(min-width:1024px){.reading .hero-team{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:301px) and (max-width:600px){body main .reading h1{font-size:clamp(24px,7.5vw,32px)}body main .reading h2{font-size:24px}}
.choice-tool{border:1px solid #dfe7ec;border-radius:12px;padding:24px;margin:32px 0}.choice-tool fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}.choice-tool legend{font-size:20px;font-weight:600;color:#183c4e;margin-bottom:12px}.choice-tool label{display:flex;gap:12px;align-items:baseline;padding:8px 0}.choice-tool input{flex:none}.choice-result{background:#eff4f6;padding:20px;border-radius:8px}.choice-tool button{font-size:20px}.choice-tool h2{margin-top:0}
